我有以下.httaccess规则,该规则根据主机将徽标的路径更改为。如果主机“ .ru”来自/ img / up / ru / b-logo,而不是/ img / up / b-logo
RewriteCond %{HTTP_HOST} example\.ru [NC]
RewriteCond %{REQUEST_URI} ^(/img/up/)(b-logo)(.*)$ [NC]
RewriteRule (.*) %1ru/%2%3 [L]
有人可以帮我为Nginx重写吗? 来自不同转换器的规则不起作用
答案 0 :(得分:1)
尝试这样的事情:
map $http_host$uri $lng {
default $uri;
~^example\.ru/img/up/b-logo(.*) /img/up/ru/b-logo$1;
}
server
server_name example.com example.ru;
...
location /img/up/b-logo {
rewrite .* $lng$is_args$args;
}
...
}
nginx位置选择算法非常复杂(description in russian language),请确保此location
块优先于其他定义的位置。