Я использую Nginx по производству окр, у нас есть URL с двойной слэш Ури, как это:Nginx двойной слеш после домена переписать
http://foo.com//bar/foo
я хочу переписать или перенаправлять:
http://foo.com/bar/foo
опция «merge_slashes» он уже включен, и я попытался это:
merge_slashes off;
rewrite (.*)//+(.*) $1/$2 permanent;
, но не работает, есть ли у вас какие-либо идеи?
благодаря
EDIT:
так, переписывающаяся работа, если слэш после первого "/", то есть:
http://pippo.it/foo//bar
но если двойной слеш это после того, как домен Безразлично tt, т. е.
http://pippo.it//foo/bar
Я попытался сбросить переменную $ request_uri, и это re sult:
url: http://pippo.it//foo/bar
expect: $request_uri -> //foo/bar
result: $request_uri -> /foo/bar
url: http://pippo.it///foo/bar
expect: $request_uri -> ///foo/bar
result: $request_uri -> //foo/bar
может быть ошибкой?
EDIT 2:
я нашел ошибку, проблема заключается в ELB (AWS), если я называю непосредственно экземпляр EC2 (где Nginx он установлен) я могу увидеть первые 2 косые черты, но если я позвоните в локоть, балансировщик нагрузки удалите первую косую черту, я открыл корпус в центре поддержки.
EDIT 3:
нашел проблему: если вы установите ELB с HTTP слушателем, я не знаю, почему, но запрос не имеет все косую черту, если вы установите слушатель в режиме TCP, запрос работа хорошо.
Благодаря
Ваше выражение не работает, правильный синтаксис это это sed/\/\ // \ // g ' –
Упс! Спасибо что подметил это. – Paradox