Как написать условие rewrite в nginx?

Пользователь

от jeromy_ruecker , в категории: Другие , 9 месяцев назад

Как написать условие rewrite в nginx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kenya , 9 месяцев назад

@jeromy_ruecker 

Директива rewrite в Nginx используется для изменения адресов URL внутри серверных блоков или местоположения (location) в конфигурационных файлах.


Синтаксис условий rewrite в Nginx следующий:

1
2
3
location /old-url {
    rewrite ^/old-url(.*)$ /new-url$1 permanent;
}


  • location /old-url указывает Nginx определить местоположение, где необходимо применить правило перезаписи.
  • rewrite ^/old-url(.*)$ /new-url$1 permanent является правилом перезаписи. Это условие говорит Nginx о том, что если URL начинается с /old-url, то он должен быть перенаправлен на /new-url. $1 в правиле перезаписи соответствует части URL, которая совпала в регулярном выражении (.*).


Приведенный пример показывает простейшее условие перезаписи, где будет произведена постоянная (301) переадресация с /old-url/* на /new-url/*.

Пользователь

от sherwood_littel , месяц назад

@jeromy_ruecker 

Вот пример условия rewrite в nginx:

1
2
3
4
5
6
7
8
server {
    listen 80;
    server_name example.com;

    location /old-url {
        rewrite ^/old-url(.*)$ /new-url$1 permanent;
    }
}


В этом примере, при обращении к example.com/old-url, будет произведено перенаправление на example.com/new-url.