我想重写以下网址:
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和PATH2rewrite ^意思是“重写整个 URI”/${PATH1}/${PATH2}正在构建新的 URI?通知nginx您不想附加原始 URL 参数last告诉nginx重写后继续遵守规则