Apache для пряничков

Простые перенаправления (в картинках)

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

Apache — это свободный широко распространённый веб-сервер. Каждая из папок на сервере может содержать свой конфигурационный файл без имени с расширением .htaccess. Настройки распространяются на саму папку и на вложенные в неё папки. Такие конфигурационные файлы могут быть созданы и для иных серверов.


Redirect

Перенаправление на другой сайт. (Перенаправление на директорию /ru/ происходит уже на сервере www.mozilla.org.)

Redirect / https://www.mozilla.org/


Путь сохраняется.




Можно установить перенаправление только с одной папки или даже одного файла. Код 301 (permanent) означает, что документ перемещён постоянно. Его можно не указывать, но это необходимо для поисковых систем. Существуют и другие коды: 302 (temp, документ перемещён временно), 303 (seeother, смотрите другой), 410 (gone, документ убран).

Redirect 301 /webmaker https://webmaker.org



RedirectMatch

Директива RedirectMatch работает так же, как и Redirect, но позволяет использовать регулярные выражения. В каких случаях это может понадобиться? Например, когда изменилось название папки.

Литералы $1, $2 и так далее означают группы символов, полученных с помощью регулярного выражения (в коде выделено полужирным шрифтом). Подробности работы регулярных выражений остаются за рамками, можно лишь посоветовать использовать онлайн-конструкторы.

RedirectMatch 301 /entries/([a-z0-9]*)$ http://localhost/archive/$1


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

26 сентября 2014 · apache