2015-11-03 62 views
1

我有一個.htaccess文件裏面有下面的RewriteRule,我很難找出它究竟做了什麼。有人可以解剖以下內容並解釋它的作用嗎?這裏是我的全部.htaccess文件:有人可以解釋這個.htaccess RewriteRule的功能嗎?

Options -Indexes 
RewriteEngine on 
RewriteRule ^([^\.]+[^/])$ http://%{HTTP_HOST}/$1/ [R=301,L] 

回答

0

此規則嘗試添加斜線到您的網址。但我必須補充說,有更好的方法來編寫這條規則。

這個替換您的規則:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301] 

你的規則可以增加一個尾部斜槓任何文件,而無需在一個句點。因此,例如名爲/abcd的文件名將被重定向到/abcd/,這將導致404

+0

我只是用你的重寫規則嘗試,雖然它似乎工作,它產生以下錯誤在Firefox如果我嘗試使用URL到一個文件夾不存在: '頁面沒有正確重定向 Firefox已經檢測到服務器正以一種永遠不會完成的方式重定向這個地址的請求。' 任何想法,爲什麼我沒有在這種情況下得到404錯誤? – TommyT

+0

我認爲還有其他一些衝突規則,因爲這條規則在我的Apache上正常工作。使用完整的.htaccess編輯您的問題,以便我可以進行調查。 – anubhava

+0

我使用完整的.htaccess文件代碼編輯了我的原始問題。謝謝您的幫助! – TommyT

相關問題