我想重写以下网址:
index.php?SOMETHING=VALUE
作为
/SOMETHING/VALUE
我对 nginx 重写没有经验,因此将不胜感激。
谢谢
我想重写以下网址:
index.php?SOMETHING=VALUE
作为
/SOMETHING/VALUE
我对 nginx 重写没有经验,因此将不胜感激。
谢谢
我想出了解决您问题的方法:
location /index.php {
if ( $args ~ "(?<PATH1>.*)=(?<PATH2>.*)" ) {
rewrite ^ /${PATH1}/${PATH2}? last;
}
}
说明:
if ( $args ~ "(?<PATH1>.*)=(?<PATH2>.*)" )
:从 URL 参数中捕获两个相关部分,将值存储在变量PATH1
和PATH2
rewrite ^
意思是“重写整个 URI”/${PATH1}/${PATH2}
正在构建新的 URI?
通知nginx
您不想附加原始 URL 参数last
告诉nginx
重写后继续遵守规则