我有一个nginx配置,我在下面定义重定向 -
rewrite ^/my/(.*)$ /my/ redirect;
rewrite ^/help-and-support/(.*)$ /about/help-and-support redirect;
rewrite ^/about/terms-and-conditions/(.*)$ /about/terms-and-conditions redirect;
rewrite ^/about/privacy-policy/(.*)$ /about/privacy-policy redirect;
我需要再添加一个参数,如下所示 -
rewrite ^/(.*)$ http://www.abcd.com/ permanent;
但是当我在nginx配置中的“location”指令下添加以上所有“rewrite”时,它会将每个请求重定向到www.abcd.com。
我也尝试添加if条件,但它们不起作用。
我的目标是www.exmaple.com
,并且该域中与上面定义的不同的任何其他网址都必须重定向到www.abcd.com
。
你能帮帮我吗?
答案 0 :(得分:0)
Nginx在找到第一个匹配后不会停止,以阻止它尝试使用break
命令找到匹配的下一个正则表达式:
rewrite ^/my/(.*)$ /my/ break;
来自官方网站:http://wiki.nginx.org/HttpRewriteModule#rewrite
break - 与break指令一样,停止处理当前的ngx_http_rewrite_module指令集;