我有如下结构的 URL:
xyz/asset.html
abc/test.html
xyz/abc/test.html
xyz/abc/qwerty/test2.html
我想重定向:
xyz/asset.html to xyz/asset
xyz/abc/test.html to xyz/abc/test
xyz/abc/qwerty/test2.html to xyz/abc/qwerty/test2
目前我在我的 ngnix 配置中有这个重定向规则,它适用于第一级目录重定向:
location ~ ^/(xyz|abc).html { return 301 /$1; }
这适用于第一级直接但不适用于子目录。如何做到这一点?谢谢您的帮助。
有多种方法可以解决这个问题。这是一种这样的方式...
第一步是捕获需要重写的 URI 部分。然后,我们可以使用
location
块或使用rewrite
条件进行重定向。使用
location
块named capture
...或者
使用
rewrite
...Nginx 支持
named captures
使用以下语法:参考:https ://nginx.org/en/docs/http/server_names.html (在标题正则表达式名称下)。