启用了mod_rewrite但无法正常工作

4
大约一个小时前,我添加了以下内容:
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进行了测试。

我不知道问题出在哪里...也许代码有误?

谢谢。


也许在%{DOCUMENT_ROOT}后面缺少了一个“/”?我不确定,但这是唯一引起我的注意的事情。 - Pekka
@Pekka,尝试了,不起作用。 - Ron
你能试着将第二个RewriteCond去掉吗?看看那样是否可行。 - Pekka
@Pekka,当我移除它时,出现了内部服务器错误。 - Ron
奇怪。我暂时没有更多的想法了... - Pekka
3个回答

2

@Ron

尝试将最后两行更改为以下内容:

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

你需要使用 [PT] ,这样 PHP 文件才能被正确处理。

1
这就是我需要让规则生效的内容:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)/$ $1.php [L]

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接