我遇到了以下重写和映射问题,我不太确定该怎么做(但我认为 nginx map 和 nginx rewrite 模块是可行的方法)我很想听听一些想法。提前谢谢您 - 抱歉我的英语不好,我尽力了。我需要有关使用 string2 进行映射的帮助
URL 结构:domain.com/string1/string2/string3
如果 string1 =“this”则重写
string2 应该映射为
你好 -> abc
怎么了 -> xyz
不知道 -> 1o1字符串3
所以
/example/hello/you
-> 无重定向
domain.com/this/whatsup/man
->domain.org/xyz/man
希望您能理解我的意思。期待您的回复。
答案1
假设string1
和string2
不包含/
,使用rewrite
来捕获string3
,例如:
map $request_uri $new {
default 0;
~^/this/hello/ abc;
~^/this/whatsup/ xyz;
~^/this/dontknow/ 1o1;
}
server {
...
if ($new) {
rewrite ^/[^/]+/[^/]+(.*)$ /$new$1 permanent;
}
...
}