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

Gena Makhomed gmm на csdoc.com
Чт Июн 20 08:43:35 UTC 2019


On 20.06.2019 10:54, Evgeniy Berdnikov wrote:

>   Ну да, нужна тукенизация и способ обойти её, если в результат хочется
>   вставлять разделители тукенов (вспоминается sendmail, ага).
>   Но мне удобный и интуитивно понятный интерфейс всегда ближе формально
>   правильного и полного, но нечеловеческого, как у сендмейла.
> 
>   Не хочется, чтобы nginx шёл по пути сендмейла. И таких "растяжек"
>   с принципиально разной обработкой $1..$9 и $var тоже не хочется.

Разная обработка $1..$9 и $var уже есть. Вы сейчас предлагаете
сломать все работающие конфигурации, которые используют $1..$9 ?

http://mailman.nginx.org/pipermail/nginx-ru/2019-June/062281.html

Ваше предложение сломает обратную совместимость и огромное количество
корректно работающих в данный момент конфигураций. Не надо так делать.

>   Можно ведь удобный API дополнить какими-нибудь фишками до формально полного
>   (например, отключив кодирование для подстроки какими-нибудь ограничителями
>   вроде \N...\N, как это делается в регулярных выражениях).
>   Нужда в кодировании разделителей это редкость, также как в кодировании
>   разделителей строк и прочих спецсимволов, а оптимизировать интерфейс
>   следует под шаблоны частого использования, IMHO.

location /wiki/ {
     # сделать 301 редирект на $request_uri без префикса /wiki
}

Что именно Вы предлагаете написать в конфигурации nginx для того,
чтобы убрать префикс /wiki и сделать 301 редирект на новый урл,

при этом чтобы /wiki/some/other/uri
не превращалось в /some%2Fother%2Furi

а также /wiki/User:Example
не превращалось в /User%3AExample

?

-- 
Best regards,
  Gena



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