http://stackoverflow.com/questions/14832780/nginx-merge-slashes-redirect
cnst 11 лет назад
0
Кто бы ни нашел это в сети и попытался скопировать предложенные ответы, ** остерегайтесь **, если вы используете установку Virtualbox с пользовательскими портами. Мне пришлось изменить его, например, на `rewrite (. *) // + (. *) $ Схема: // $ host: 4321 $ 1 / $ 2 постоянный;` где * 4321 * - это внешний порт Virtualbox'd nginx мой браузер подключается к.
aexl 6 лет назад
0
3 ответа на вопрос
3
SleepWalker
I'd like to suggest this approach:
# remove multiple sequences of forward slashes # rewrite URI has duplicate slashes already removed by Nginx (merge_slashes on), just need to rewrite back to current location # note: the use of "^[^?]*?" avoids matches in querystring portion which would cause an infinite redirect loop if ($request_uri ~ "^[^?]*?//") { rewrite "^" $scheme://$host$uri permanent; }
It uses the default behaviour of nginx — merging of slashes, so we do not need to replace slashes, we simply redirecting