1
fundon 2015-08-10 09:53:25 +08:00 1
修改 `$args` 变量,可以去掉 `hl=zh`
|
4
popok 2015-08-10 11:01:27 +08:00 1
|
5
popok 2015-08-10 11:02:59 +08:00
不确定的参数部分用()括起来,然后替换的时候引用出来就行了,比如第一个()里的内容,就是$1,第二个括号里的就是$2以此类推
|
6
shiniv 2015-08-10 11:09:53 +08:00 1
if ( $query_string ~ ^(.*)hl=en(.*)$) {
rewrite ^(.*) $scheme://www.enfsolar.com${1}${2} break; } if ( $query_string ~ ^(.*)hl=zh(.*)$) { rewrite ^(.*) $scheme://www.enfsolar.com.cn${1}${2} break; } 不知道对不对 没具体试过 |
9
shiniv 2015-08-10 11:23:30 +08:00 1
|
11
popok 2015-08-10 11:27:54 +08:00
哦,原来是$query_string ,这个貌似获取不到aboutus,只能获取到age=33&hl=zh这部分吧?
|
12
az OP @shiniv 这个方法太棒了。
修改后的: if ($query_string ~ "^(.*)hl=zh$"){ set $a $1; set $args ""; rewrite ^(.*) http://example.com.cn$1?$a permanent; } 可是,问题来了,这样设置后,$a里面的&符号被转义了,要怎么改? |
13
popok 2015-08-10 11:48:57 +08:00
可能需要用$request_uri这个吧?
|
15
az OP @shiniv
@popok @fundon 感谢各位,最好这样了: if ($query_string ~ "^(.*?)&?hl=zh$"){ set $args $1; rewrite ^(.*) http://example.com.cn$1 permanent; } |