2011-01-27 60 views
4

工作大约一个小时前,我加启用了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进行测试,将我重定向到Google的任意页面。

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

谢谢。

+0

也许你错过了`/``以后%{DOCUMENT_ROOT}`?不确定,但它是唯一引起我注意的事情 – 2011-01-27 22:36:19

回答

1

这是我需要什么规则的工作:

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

@Ron

尝试将最后两行更改为此:

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

你需要的[PT]为了要正确处理PHP文件。

1

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