我在reg表达式和nginx重写规则方面非常糟糕。 我需要帮助来计算NGINX的以下情况的重写规则。
http://example.com/blog/category1/postname => http://example.com/category1/postname
http://example.com/blog/category1/helloworld => http://example.com/category1/helloworld
提前谢谢!
答案 0 :(得分:1)
这个很简单,你只想告诉nginx忽略博客这个词(我假设必须跟着category1
这个词)
rewrite ^/category1/(.*) /blog/category1/$1 last;
# | | | | | |
# [1] [2] [3] [4] [5] [6]
[1]:网址以
开头
[2]:category1
[3]:捕获所有后续的内容
[4]:添加blog
[5]:添加其余的URL(我们在[3]中捕获)
[6]:停止重写并处理新的URL和任何其他匹配的重写。