我試圖做一個htaccess文件,將通過index.php重定向所有404錯誤。我希望用戶無法訪問的頁面被附加到index.php的URL,以便我可以找出哪些頁面請求失敗。Apache .htaccess 404錯誤重定向
例如,如果他們試圖訪問http://example.com/doesntexist.php,阿帕奇應重定向到http://example.com/index.php/doesntexist
這是我有:
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php?%{QUERY_STRING} [L]
這個工作對我的主機商之一,但是當我轉移失敗網站到另一個虛擬主機(GoDaddy)。
謝謝你們
謝謝你的回答。這個解決方案工作正常,但我可能誤解了我的問題。我不希望Apache發送404頁眉。這就是我使用重寫條件的原因。我怎樣才能使一個htaccess與「ErrorDocument /404.php」產生的效果相同,除了沒有404頭? – Nathan 2011-03-04 05:39:02
@Nathan啊!嗯,這可能很難。 PHP有['header_remove()'](http://www.php.net/header_remove),但它似乎沒有刪除以前由Apache設置的標頭。你確定GoDaddy有URL重寫嗎? – 2011-03-04 08:55:04