2011-11-18 82 views
4

基本上我使用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

回答

3

這裏是你必須做的:

RewriteEngine On 
RewriteRule ^([a-z0-9_\-]+)\.([a-z]+)$ _images/$1.$2 [NC,L] 

使用NC(不區分大小寫)你不需要把A-ZA-Z和如果您在此之後有其他規則,則表示最後一條規則。

0

此規則失敗,因爲您有一個/。因此重定向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