2012-03-04 2 views
1

Я использую nginx в первый раз, и я не могу понять это. Я пытаюсь переписать мою конфигурацию nginx, так что все мои URL-адреса больше не имеют конечной косой черты, которой по умолчанию соответствует nginx.nginx trailing slash переписать результаты в цикле перенаправления

Я пытался следующее, но он по-прежнему приводит в цикле перенаправления («Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что никогда не будет полной.»):

server_name_in_redirect off; 
    rewrite ^/(.*)/$ /$1 permanent; 

Любые идеи о том, что может быть неправильным здесь и как я могу удалить трейлинг-косые черты?

ответ

3

На самом деле ... это тенденция Firefox, чтобы добавить косые черты ко всему.

Ваша конфигурация nginx удаляет ее, а firefox добавляет ее обратно в запрос. Используйте «curl -I», чтобы проверить свою конфигурацию. Попытка принудить вас иметь или не иметь завершающую косую черту, вызовет у вас много головных болей.

Если вам это абсолютно необходимо, вам необходимо удалить постоянное и оставить его внутренним перенаправлением.

От:

rewrite ^/(.*)/$ /$1 permanent; 

To:

rewrite ^/(.*)/$ /$1; 
+0

Спасибо. Единственный полезный совет, который я нашел по этой проблеме, заключается в том, что браузеры снова добавляют обратную косую черту и превращают ее в бесконечный цикл. –