基本上我使用htaccess的 我有我寧可不使用一個隱藏目錄,我想更短鏈接:重定向到的照片與htaccess的
我想
http://example.com/12940.png
到轉到
http://example.com/_images/12940.png
這裏是我的規則:
RewriteRule ^([A-Za-z0-9\_\-\/]+).([A-Za-z]+)$ "_images/$1.$2"
有什麼不對的地方,我得到500
基本上我使用htaccess的 我有我寧可不使用一個隱藏目錄,我想更短鏈接:重定向到的照片與htaccess的
我想
http://example.com/12940.png
到轉到
http://example.com/_images/12940.png
這裏是我的規則:
RewriteRule ^([A-Za-z0-9\_\-\/]+).([A-Za-z]+)$ "_images/$1.$2"
有什麼不對的地方,我得到500
這裏是你必須做的:
RewriteEngine On
RewriteRule ^([a-z0-9_\-]+)\.([a-z]+)$ _images/$1.$2 [NC,L]
使用NC(不區分大小寫)你不需要把A-ZA-Z和如果您在此之後有其他規則,則表示最後一條規則。
此規則失敗,因爲您有一個/
。因此重定向URL(_images/12940.png
)再次被規則捕獲,並且mod_rewrite嘗試將其重定向到(_images/_images/12940.png
)。
RewriteRule ^(?!_images)([A-Za-z0-9\_\-\/]+).([A-Za-z]+)$ "_images/$1.$2"
你也可以進一步提高您的規則是這樣的::
所以,你應該如果路徑與_images
媒體鏈接開始檢查
RewriteRule ^(?!_images)([a-z0-9_\-/]+\.[a-z]+)$ _images/$1 [NC]
無需躲避_
和/
,但你應該逃避.
,因爲它匹配任何其他字符。 NC
使規則不區分大小寫,所以你不需要額外的A-Z
。