2013-09-25 89 views
2

我目前正在更新我們的網站,和圖像文件夾名稱已從/img/變更爲/images/mod_rewrite的重映射文件夾

我仍然得到404錯誤,在我的Apache錯誤日誌從機器人等試圖訪問舊/img文件夾。

我想寫一個mod_rewrite規則來重定向任何嘗試訪問/img/來引用/images/

這是我到目前爲止有:

RewriteRule ^img/?(.*)$ images/$1 [R=301,L] 

但是,每當我訪問http://mysite.com/img我仍然得到我的404頁(而不是我應該接受訪問/圖像禁止頁)。

這是正確的嗎?如果重要的話,我還有另一個規則強制使用ssl。

非常感謝

回答

3

這個規則應該是你的根文件夾的地方:

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase/

RewriteCond %{DOCUMENT_ROOT}/images/$1 -d [OR] 
RewriteCond %{DOCUMENT_ROOT}/images/$1 -f 
RewriteRule ^img/(.*) /images/$1 [R=302,NC,L] 

此規則將重定向只存在文件或文件夾存在於http://domain.com/images

請記住,你可能已經從以前的嘗試,因爲你正在使用R=301緩存,因此,以確保其工作嘗試使用不同的瀏覽器。

請注意,我使用R=302,以避免此緩存,一旦您確認它正在工作,將其更改爲R=301

+0

完美,它按預期工作!非常感謝:) –

+0

不客氣。 – Prix

+0

非常好的答案+1 – anubhava