26 августа 2011 г.

NGINX Сервер по-умолчанию.

...дабы не забыть и потом использовать!..

   С точки зрения SEO, для рабочего web проекта с 20к+ посетителей в сутки очень резонно, чтобы не было возможности ходить на ваш любимый сайт по IP-based url. То есть: если есть сайт http://www.goodsite.com, то ссылки вида http://123.123.123.123 (собственно IP адрес сервера где находится ваш сайт) не должны существовать вообще или должны редиректится с кодом 301 на соответствующие разделы вашего сайта.
   Почему это плохо:
1. Много сайтов используют domain name из url для перехода в соответствующие под-домены, разделы и др. и при введении ip адреса в качестве domain name будут вести себя не предсказуемо.
2. Поисковыми машинами ссылки на http://www.goodsite.com и http://123.123.123.123 будут фактически индексироваться как разные сайты.

Как быть? Достаточно просто:
В повседневной работе я использую сервер nginx Игоря Сысоева в качестве фронтэнда для всех своих проектов и на нем реализация схемы с редиректами проходит достаточно легко.



Собственно рассказывать про rewrite в nginx я не буду - писано уже много (google it!). А вот сама суть в директиве server_name: если указать в качестве имени сервера _ (подчёркивание), то при обращении к не существующему виртуальному хосту, будет отрабатывать именно этот сервер. Ну а внутри него можно разрисовать несколько условий в том случае если у вас много виртуальных хостов.