004_Nginx rewrtie четыре флага

Nginx rewrtie четыре флага

Используя команду перезаписи Nginx, рулевое управление может быть достигнуто URL, для четырех различных rewrtie флага, соответственно, редирект, постоянный разрыв и последний. Из них первые два являются прыжки тип флага, два последних является тип агента. Тип Перейти означает иметь браузер клиента для повторного запроса нового адреса, типа прокси является достижение скачка внутреннего сервера WEB.

переадресовать: 302, чтобы перейти к адресу назад rewrtie.

постоянный: 301 постоянное приспособление к rewrtie адрес обратно, текущий адрес был окончательно перемещен на новый адрес, как правило, в дружественной поисковой системе.

последнее: Адрес сервера для выполнения снова переписать метку.

перерыв: адрес повторно выполняются в текущей наклейке места после переписывания.

Proxy_pass корень или использовать указанный источник, наконец, разрыв может быть, но результаты могут отличаться, с более поздними примерами, псевдоним используется для указания источника, должен быть последним. Если в следующей конфигурации:

location / {
    root   /var/www/html;
    index  index.html index.htm;
    rewrite "/x/t.html" /y/t.html break;
}
location /y/ {
    root  /var/www/html/other;
}

При запросе /x/t.html, переписывает соблюдение правила; адрес, так что корректировки для /y/t.html, так как флаг с помощью BREAK, так что перейти в «месте /», результат / вара /www/html/y/t.html. Однако, если флаг для последнего, то /y/t.html будет переоформить на вкладку сервер, «местоположение / у /», поэтому переход был вновь назначен «местоположение / у /» ярлык из-за, так это время результаты /var/www/html/other/y/t.html.

Примечание: Использование последнего, если он настроен неправильно, то это может привести к бесконечному циклу. Например:

location /x/ {
    proxy_pass http://my_proxy;
    rewrite "^/x/(.*)\.html$" /x/1.html last;
}

Перепечатка , пожалуйста , укажите источник статьи, спасибо! Перепечатано из: http://www.netingcn.com/nginx-rewrite-flag.html


Nginx 中 наконец, разрыв, постоянный редирект

1. последний 和 перерыв

  • местонахождение за пределами

Когда последний и, когда разрыв происходит вне места, и эффект такой же разница нет. Внимание к тому, что они будут пропускать все после переписывания команды модуля, чтобы выбрать их собственное местоположение соответствия.

Example:

rewrite url1 url2 last; ①
rewrite url3 url4 last; ②
rewrite url5 url6 last; ③

location ~  url2   ④
location ~  url4   ⑤
location ~  url6   ⑥

Когда это правило перезаписи вступает в силу ①, ② и ③ за ним не будет пропущена суда, прочь непосредственно за выбором места, Там может быть сомнения в том, что тот вводе команд командного модуля переписывает это? При использовании Nginx себя, вы должны перейти на официальный сайт запроса. Но если вы используете tengine, вы можете использовать tengine -V. Информация, которую хотят в список.

  • Расположение в

Когда последний перерыв , и когда есть в месте, есть разница между ними.
последнее: Использование последней команда будет прыгать после рамки переписывает расположение, только что в очередной раз возобновил поведение
перерыва: Используйте команду перерыва, не выскочить из сферы расположения после переписывания. Кроме того , расположение в конце этой жизни.

Example:

rewrite xxx1 yyy last; ⑦
rewrite xxx2 yyy last; ⑧
rewrite xxx3 yyy last; ⑨
rewrite xxx4 yyy last; ⑩

location ~  url1
{
    rewrite url1 url2 last; ①
}

location ~  url2
{
    rewrite url3 url4 break; ②
    fastcgi_pass 127.0.0.1:9000;
}

Эти примеры:
после того , как первое место обработки команды перезаписи будет завершено, появятся местоположение, а затем повторно определенно переписывают правила от 7 до 9;
после того, как вторая команда переписывает в обработке местоположения завершена, не будут прыгать место, а не повторно Анализируя правила перезаписи 7 ~ 9. Но только для передачи информации на задней инструкции fastcgi_pass или тому подобное proxy_pass

2. постоянных и перенаправление

постоянный: постоянный редирект. Вход запрос код состояния 301

переадресовать: Временный редирект. Вход код запроса 302 статуса

С точки зрения, чтобы увидеть реализацию функций, постоянных и перенаправлять то же самое. Там, где нет хорошего, где плохо, существуют проблемы с производительностью ничего. (Или, когда Baidu сканировать ваш сайт), но SEO. Что-то вроде этого, вы в конце концов, быть постоянным или временным Перенаправление Перенаправление интерес. Не могу понять, требует глубокого, Google это.

3. Наконец, перерыв VS постоянный, редирект

Относится к коду состояния 301 и 302 и постоянной переадресации; последний, а затем перерыв по коде состояния 200 запроса журналов доступа

Эти два типа ключевых слов, какая разница, мы можем видеть это глаза это? Позвольте мне дать вам пример этого:

  • При открытии веб-страницы, а затем откройте режим отладки, вы увидите поведение 301 и 302 случая. После первого запроса 301 или 302, браузер повторно приобрел новый URL-адрес, то новый URL будет вновь посетить. Поэтому, когда вы настраиваете постоянные и переадресацию, вы посетите запрос на URL, чтобы приземлиться на сервере, по крайней мере в два раза.

  • При настройке последнего или перерыв, после того, как вы завершили окончательный URL, этот URL не будет возвращен в браузер, но он бросил fastcgi_pass или proxy_pass инструкции по сделке с. Запрос URL, число сократилось до 1 на время сервера.

Перепечатка , пожалуйста , укажите источник статьи, спасибо! Перевод: http://blog.51cto.com/unixman/1711943

рекомендация

отwww.cnblogs.com/cy-8593/p/12333623.html