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