NGINX позволяет переписывать запрашиваемые URL различными способами. В большинстве случаев он переписывает URL с учетом регистра. Но иногда вам может понадобиться сделать перезапись без учета регистра в NGINX. В этой статье мы узнаем, как это сделать.
Как сделать перезапись без учета регистра в NGINX
Допустим, вы хотите переписать URL http://example.com/product на http://example.com/new-product. Как правило, вот оператор перезаписи, который мы используем в конфигурации нашего сервера NGINX для реализации вышеуказанного перенаправления.
1 | rewrite "product" http://www.example.com/new-product redirect; |
ИЛИ
1 2 3 | location /foobar { rewrite "product" http://www.example.com/new-product redirect; } |
Приведенная выше конфигурация будет перенаправлять URL, начинающиеся с /product, но не те, которые содержат /PRODUCT или любой другой регистр /product.
В случае, если вы хотите сделать нечувствительный к регистру URL, вы можете просто добавить (?i) перед группой захвата, как показано ниже.
1 | rewrite "(?i)product" http://www.example.com/new-product redirect; |
ИЛИ
1 2 3 | location /foobar { rewrite "(?i)product" http://www.example.com/new-product redirect; } |
Приведенная выше конфигурация должна помочь вам подобрать необходимую группу захвата независимо от регистра URL.
В этой статье мы узнали, как сделать чувствительную к регистру перезапись в NGINX.