对于某些文件,Htaccess超过了RewriteRule

时间:2015-08-18 00:24:04

标签: php apache .htaccess mod-rewrite

这是我当前的.htaccess文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /page.php?page=$1 [L]
RewriteRule ^([^\.]+)$ $1.php [NC,L]

所以现在它将page.php重写为站点的根目录。我希望情况如此,除了域的根目录中有文件,然后我希望它显示该文件。

它已经自动执行此操作,除非您必须在末尾包含.php,所以像:http://domain.com/contact.php

我想要它:http://domain.com/contact

htaccess代码的最后一行执行此操作,但它只能在子文件夹中使用。

1 个答案:

答案 0 :(得分:1)

试试这个

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /page.php?page=$1 [L]