我一直在与以下代码进行斗争,并且由于某些原因无法重定向以下代码:
/folder/htdocs/uk/images/my-image.jpg
>> /folder/htdocs/images/UK/my-image.jpg
我尝试过
RewriteRule ^.+/(\w){2,3}/images/(.*)$ http://%{HTTP_HOST}/folder/htdocs/images/$1/$2 [NC,L]
RewriteRule ^/folder/htdocs/([A-Za-a]{2,3})/images/(.*)$ http://%{HTTP_HOST}/folder/htdocs/images/$1/$2 [NC,L]
还有很多变化,但我仍然没有解决。请有人建议我该怎么做?
我尝试将其重定向到文件-只是为了捕获模式匹配,但仍然无济于事。
答案 0 :(得分:1)
在您的Apache服务器配置(vhost)中定义了RewriteMap
:
RewriteMap uc int:toupper
将此规则放在htdocs/.htaccess
目录中(如果不存在,请创建该规则):
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)/([a-z]{2})/images/(.+)$
RewriteRule ^ %1/images/${uc:%2}/%3 [L,NE,R=301]