當我嘗試使用我的Apache服務器上的.htaccess文件從我的所有文件中刪除我的PHP擴展時,一切正常。擴展名被刪除了,一切看起來都好多了。Mod_Rewrite擴展刪除更改功能404
但是,我遇到了一個小問題:當我通常會轉到諸如./nonexistent.php
之類的頁面時,我會收到404錯誤。但是,當我重寫我的網址時,我轉到./nonexistent
,而是收到500 Internal Server Error
。
理想情況下,我想簡單地將用戶重定向到自定義的「找不到頁面」頁面,但目前我無法找到一種方法來執行此操作。
下面是我使用的代碼:
Options -MultiViews
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
我試過設置:ErrorDocument 500 /nope
然而,這似乎不有效果無論是。
因此,總結一下,有沒有人知道如何重寫擴展,同時保持默認的「Page Not Found」系統的功能不變?
drew010,你是對的,另一個答案是實用的,因爲它解決了我的問題,但實際上並沒有解決它。 – elliottbolzan 2012-03-25 22:13:21
如果你檢查你的Apache'error_log',你會看到500錯誤的確切原因。如果您的網站非常繁忙,那麼您將會寫入很多錯誤日誌,並使其不必要地增長,從而難以發現和調試實際錯誤。看看這是否也有幫助。 – drew010 2012-03-25 22:14:39
感謝您的幫助,非常感謝。 – elliottbolzan 2012-03-25 22:15:07