2010-10-06 237 views
2

我從來沒有使用過mod_rewrite,但我想從我的網站刪除所有文件擴展名的網站。我需要這樣做的規則是什麼?從URL刪除文件擴展名

我已經試過這一點,但是這給了我一個內部錯誤我每次點擊一個鏈接在我的網站

RewriteRule ^(.*)$ $1.php [L] 

回答

1

你想要做的是首先檢查文件是否存在,這將防止造成500錯誤的無限循環。它也將使其他非PHP文件請求工作(即:圖像,CSS等)。

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [L] 
+0

所以他們只需要將我網站上的所有鏈接都改爲不帶.php擴展名是否正確? – Catfish 2010-10-11 18:27:07

+0

這是正確的。 – bradym 2010-10-12 02:02:24

5

Options +MultiViews可能是這個更好的選擇。啓用該選項後,Apache將智能地重寫擴展。

+0

可以說我想用mod_rewrite完成。我是新人,我正在努力學習它。 – Catfish 2010-10-06 03:27:01

+0

或者你能否至少舉出一個MultiViews的例子以及它的功能? – Catfish 2010-10-08 16:55:23