我想重写以下网址:
index.php?SOMETHING=VALUE
作为
/SOMETHING/VALUE
我对nginx重写没有经验,所以任何帮助都会受到赞赏。
由于
答案 0 :(得分:1)
我已经找到了解决问题的方法:
location /index.php {
if ( $args ~ "(?<PATH1>.*)=(?<PATH2>.*)" ) {
rewrite ^ /${PATH1}/${PATH2}? last;
}
}
说明:
if ( $args ~ "(?<PATH1>.*)=(?<PATH2>.*)" )
:从URL参数中捕获两个相关部分,将值存储在变量PATH1
和PATH2
rewrite ^
表示“重写整个URI”/${PATH1}/${PATH2}
正在构建新URI ?
通知nginx
您不想附加原始网址参数last
告诉nginx
在重写后继续遵循规则