douyaosi3164 2010-03-01 18:46
浏览 64
已采纳

不使用mod_rewrite运行没有扩展名的PHP?

Using Apache 2.2 and PHP 5, what's the best way to run PHP without the .php extension. For example, I have a script called app.php and I like to invoke it as

http://example.com/app

Please notice that I still want keep the .php extension to the file and I don't have mod_rewrite. Don't want use index.php either because it requires too many directories.

I did find one way by adding this to my .htaccess,

AddHandler server-parsed .php
SetHandler application/x-httpd-php
AddHandler application/x-httpd-php .php

The page runs a little slower by using this. I suspect it invokes SSI on every PHP page. Wonder if there are any better ways to accomplish this.

  • 写回答

3条回答 默认 最新

  • douxing2156 2010-03-01 19:12
    关注

    An alternative is to use content negotiation. Turn on multiviews:

    Options +MultiViews
    

    If a named resource doesn't exist, Apache will glob for the file, then sort based on the media type and content encoding requirements send by the browser. If there's only one file (your PHP script), then that's what the URL resolves to.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?