Hello! On Tue, Jun 18, 2019 at 06:31:24AM +0300, Gena Makhomed wrote:
> Здравствуйте, All! > > Есть такой фрагмент документации на директиву location: > > Синтаксис: location [ = | ~ | ~* | ^~ ] uri { ... } > > Для сопоставления используется URI запроса в нормализованном виде, > после декодирования текста, заданного в виде “%XX”, преобразования > относительных элементов пути “.” и “..” в реальные и возможной > замены двух и более подряд идущих слэшей на один. > > Есть такой фрагмент конфига: > > location ~ ^/wiki/(?<title>.*) { > return 301 https://$host/$title$is_args$args; > } > > Судя по документации, этот фрагмент конфига не должен работать, потому > что в $title ведь попадает уже декодированный русский текст из location? > > Но почему-то эксперимент с помощью curl показывает, что в редиректе > возвращается текст закодированный в виде “%XX”, а не обычный Unicode. Эксперимент, видимо, плохой, негодный. $ curl -vvv http://127.0.0.1:8080/wiki/%d1%82%d0%b5%d1%81%d1%82 * Trying 127.0.0.1... * TCP_NODELAY set * Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0) > GET /wiki/%d1%82%d0%b5%d1%81%d1%82 HTTP/1.1 > Host: 127.0.0.1:8080 > User-Agent: curl/7.62.0 > Accept: */* > < HTTP/1.1 301 Moved Permanently < Server: nginx/1.17.1 < Date: Tue, 18 Jun 2019 08:25:18 GMT < Content-Type: text/html < Content-Length: 169 < Connection: keep-alive < Location: https://127.0.0.1/тест < <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.17.1</center> </body> </html> * Connection #0 to host 127.0.0.1 left intact -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru