Файл htaccess. Редирект

Файл htaccess

От автора: В этом уроке мы с вами начнем знакомиться с директивами перенаправления. Возможности данных директив так или иначе используются практически в любом проекте, без них сложно представить работу мало-мальски полноценного сайта: их возможности используются для СЕО, для создания ЧПУ, для простого редиректа, для ограничения доступа к сайту или его части и т.д.

скачать исходникискачать урок

Директивы перенаправления (или редиректа) делят на две группы: директивы простого перенаправления и директивы сложного перенаправления (модуль mod_rewrite). Возможности первой группы директив ограничиваются банальным физическим редиректом, при котором пользователь не только получит содержимое файла, на который был произведен редирект, но и произойдет изменение адреса URL (внешний редирект).

Возможности же второй группы директив позволяют производить преобразования URL «на лету», не изменяя адресную строку браузера. Эта возможность позволяет использовать ЧПУ на сайте (этой темы мы коснемся в следующем уроке).

Итак, первая директива Redirect имеет следующий синтаксис:

Redirect code old_url new_url

Здесь:

code – необязательный код статуса, с которым будет произведен редирект (по умолчанию — 302)

old_url – запрос

new_url – адрес перенаправления

Синтаксис данной директивы довольно строг и предполагает использование только абсолютных адресов, т.е. в адрес должен начинаться со слеша (слеш указывает на корень сайта). Для адреса перенаправления (new_url) допускается использование схемы (т.е. протокола).

И несколько примеров использования директивы Redirect:

# Редирект с file.html (находится в корне) на file.php (там же)
Redirect /file.html /file.php

# Редирект с главной страницы сайта на внешний адрес
Redirect / http://ya.ru

# Редирект с file.html на file.php с указанием кода статуса
Redirect 301 /file.html /file.php

# Используя 410 код мы сообщаем, что данный url является «мертвым»
Redirect 410 /file.html

В отличие от директивы Redirect, вторая директива – RedirectMatch – позволяет использовать регулярные выражения, чтобы задать шаблон запроса (old_url). Это более гибкая директива, поскольку таким образом мы можем производить редирект не только для одного файла, но и для группы файлов.

Давайте приведем несколько примеров работы с директивой RedirectMatch:

# При обращении к файлам RAR сделаем редирект на файл file.php и в GET-параметре file передадим путь к запрошенному архиву RAR
#RedirectMatch (.+\.rar)$ /file.php?file=$1

# При обращении к файлам RAR или ZIP сделаем редирект на файл file.php и в GET-параметре file передадим имя запрошенного архива
#RedirectMatch .*?([^/]+\.(rar|zip))$ /file.php?file=$1

В следующем уроке мы начнем знакомиться с директивами модуля mod_rewrite, которые предоставляют гораздо больше возможностей по работе с перенаправлениями.

На этом текущий урок завершен. Удачи и до встречи в следующем!

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree