Re: location + rewrite и (де)кодирование URI

Gena Makhomed gmm на csdoc.com
Вт Июн 18 13:45:13 UTC 2019


On 18.06.2019 15:26, Maxim Dounin wrote:

> И снова эксперимент плохой, негодный.

Вот полный конфиг тестового сервера:

server {
     listen 8080;

     location /wiki1/ {
         rewrite ^/wiki1/(.*) https://$host/$1;
     }

     location /wiki2/ {
         rewrite ^/wiki2/(?<title>.*) https://$host/$title;
     }
}

Вот запросы к первому и второму location`у:

$ curl -I http://127.0.0.1:8080/wiki1/%D1%82%D0%B5%D1%81%D1%82
Location: https://127.0.0.1/%D1%82%D0%B5%D1%81%D1%82

$ curl -I http://127.0.0.1:8080/wiki2/%D1%82%D0%B5%D1%81%D1%82
Location: https://127.0.0.1/тест

Первый и второй location отличаются между собой только тем,
что в первом используется неименованное выделение $1,
а во втором - именованное выделение $title.

И в то же время получаем такие разные результаты. Почему так?

Ведь с точки зрения пользователя и с точки зрения документации nginx
эти два location`а полностью идентичны по своему смыслу и поведению.

-- 
Best regards,
  Gena



Подробная информация о списке рассылки nginx-ru