2011-01-27 52 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文件。真奇怪。但是如果你只是等待,文件應該可以正常工作。