我在Apache的mod_rewrite上遇到了一些麻煩。我試圖讓它做的一件事是隱藏我的一些實現細節,例如,用戶看到URL http://www.mysite.com/login,但Apache用http://www.mysite.com/doc_root/login.php的頁面響應(最好不顯示用戶它是一個PHP文件或目錄結構)。下面是我在我的.htaccess文件:Apache mod_rewrite沒有做任何事情(?)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com*
RewriteRule ^/(\w+) /doc_root/$1.php [L]
#Redirect http://www.mysite.com to the login page
RewriteRule ^/?$ https://www.mysite.com/doc_root/login.php
但是,當我去http://www.mysite.com/login,我得到即使頁面中存在一個404錯誤。我顯然沒有很好的理解mod_rewrite條件和規則是如何工作的,所以任何人都可以告訴我我做錯了什麼?謝謝。
我會打開RewriteLog並將RewriteLogLevel設置爲某個高值。 – 2010-10-31 13:42:44
你最好問這個在Serverfault.com – Bevor 2010-10-31 13:52:02
無法打開RewriteLog - 託管服務不允許它。感謝指導我到serverfault.com,我以前不知道它。 – jay 2010-10-31 21:40:59