du1843 2012-07-24 05:25
浏览 34
已采纳

运行没有扩展名的PHP页面

I want to run my PHP web pages on an apache web server without the .php extension. So I added the following code:

RewriteEngine on
RewriteBase /
Rewritecond %{REQUEST_URI} !(^/?.*\..*$) [NC]
RewriteRule (.*)$ $1.php [NC]

in the .htaccess file. This solves my problem but another problem arises. I cannot view the content of any directory (i.e. the file contained in the drectory). Please provide me an alternate RewriteRule without this problem.

  • 写回答

3条回答 默认 最新

  • doubi8965 2012-07-24 05:30
    关注

    You need to make sure that the request URI points to an existing resource if you append the.php to the end of it:

    RewriteEngine on
    RewriteBase /
    Rewritecond %{REQUEST_URI} !(^/?.*\..*$) [NC]
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule (.*)$ $1.php [NC]
    

    the line RewriteCond %{REQUEST_FILENAME}.php -f checks if a ".php" is appended to the requested URI, it mapes to an existing file (-f).

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

报告相同问题?