.htaccess到NGINX的规则

时间:2018-12-03 10:55:39

标签: apache .htaccess nginx url-rewriting

我有以下.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重写吗? 来自不同转换器的规则不起作用

1 个答案:

答案 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块优先于其他定义的位置。