Я давно гуглил и не могу понять этого. Это кажется простым, и я уверен, что это так, но я не эксперт по серверам.
Мой URL: http://www.example.com/blog/?tag=Word1+Word2
Некоторые теги состоят из одного слова (например, велосипед), некоторые длиннее (например, двухколесный велосипед).
Мне нужно, чтобы этот URL выводился как: example.com/blog/tag/word1- word2 /
Как я могу переписать для этого?
Вы должны послать - в вашем запросе вместо +, чтобы получить тот же формат и сделать более простой запрос :
location ~ /blog/ {
if ($args ~* "tag=(.*)") {
set $w1 $1;
rewrite .* /blog/tag/$w1/? permanent;
}
}
На основании ссылки, которую я отправил
?
в конце удалит параметры строки запроса (из перепишите doc )
Если вы укажете ? в конце перезаписи, то Nginx опустит исходные $args (аргументы)
, чтобы добиться того, что аргументы будут отправлены в никуда:
set $args '';