nginx规则,用于在url后附加附加段
我有一个动态URL的如下nginx规则,用于在url后附加附加段,nginx,Nginx,我有一个动态URL的如下 http://www.xxxx.com/black/xxxx/xxxx http://www.xxxx.com/blue/xxxx/xxxx http://www.xxxx.com/red/xxxx/xxxx 我想对上面的url执行301重定向 http://www.xxxx.com/color/black/xxxx/xxxx http://www.xxxx.com/color/blue/xxxx/xxxx http://www.xxxx.com/color/red/
http://www.xxxx.com/black/xxxx/xxxx
http://www.xxxx.com/blue/xxxx/xxxx
http://www.xxxx.com/red/xxxx/xxxx
我想对上面的url执行301重定向
http://www.xxxx.com/color/black/xxxx/xxxx
http://www.xxxx.com/color/blue/xxxx/xxxx
http://www.xxxx.com/color/red/xxxx/xxxx
我正试着这样匹配
location ~ /(black|blue|red)(/(.+)?)?$ {
}
谢谢你的建议 location正则表达式应该在URI的开头包含一个锚点 如果您试图仅匹配包含后缀
/xxxx/xxxx
的URI,则可以使用字符类[^/]
来匹配非斜杠字符
使用return
语句可以直接重定向:
location ~ ^/(black|blue|red)/[^/]+/[^/]+$ {
return 301 /color$request_uri;
}
正则表达式location
块的求值顺序非常重要。将此块置于规则可能冲突的其他块之上
有关详细信息,请参阅