mod_rewrite已启用但无法正常工作

时间:2011-01-27 22:28:50

标签: linux apache .htaccess mod-rewrite

大约一小时前,我添加了

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*[^/])/?$
RewriteCond %{DOCUMENT_ROOT}%1.php -f
RewriteRule .+ %1.php [QSA,L]

到我的.htaccess文件。但它不起作用。当我去mywebsite.com/info或mywebsite.com/info/时,它不起作用(页面是info.php)。 mod_rewrite已启用 - 由RewriteRule测试,它将我从我网站的任何页面重定向到谷歌。

我不知道问题是什么..也许代码错了?

感谢。

3 个答案:

答案 0 :(得分:2)

@Ron

尝试将最后两行更改为:

RewriteCond %1.php -f
RewriteRule .+ %1.php [PT]

您需要[PT]才能正确处理PHP文件。

答案 1 :(得分:1)

GoDaddy需要大约一个小时来解析新上传的.htaccess文件。真奇怪。但是如果你只是等待,文件应该可以正常工作。

答案 2 :(得分:1)

这就是规则工作所需要的:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)/$ $1.php [L]