1
ここでは私のnginxの書き換えルールはクエリ文字列引数を持つnginxの書き換えルールに
rewrite ^(.*)$ http://www.destination.com/main.php?utm_source=xxx&utm_medium=yyy&utm_campaign=zzz permanent;
すべては、クエリの引数があるときを除き、これまでの作品です。
これは永続的な301リダイレクトであり、クエリ文字列がある場合は大文字と小文字を設定する必要があります。utm追跡クエリの前に追加されます。
クエリ文字列を使わずに書き直しをしながらこれを行うにはどうすればよいですか?
例えば、
http://www.from.com/?test=ABC
が
http://www.destination.com/main.php?test=ABC&utm_source=xxx&utm_medium=yyy&utm_campaign=zzz
代わりの
http://www.destination.com/main.php?utm_source=xxx&utm_medium=yyy&utm_campaign=zzz&test=ABC
完璧に動作します。 ''? ''と ''& "'はどこで '' map'ブロックを作りましょうか? 'map'はここに一定の条件を適用していますか? – KDX
@KDX $ is_args変数が "?"に設定されています。クエリ文字列が存在する場合。空でない限り、既存のクエリ文字列($ args)に引数を結合するには、その文字列を "&"にマップする必要があります。 –
クエリ文字列がない場合、 '$ separator'は' ''になりますか?クエリ文字列がある場合、 '$ separator'は' '&" 'になります。私は正しく理解していますか? – KDX