Директивы редиректа (redirect)
Используются для перенаправления посетителей (в том числе роботов поисковых систем) на другие страницу или сайт. Предположим мы хотим при запросе нашего сайта переадресовать посетителя на другой URL, для этого нам необходимо в корневую директорию сайта добавить файл .htaccess со следующим содержимым
Redirect / http://www.favoli.ru
# здесь http://www.favoli.ru - URL На который мы перенаправляем все запросы
более сложные примеры, сделаем так, чтобы при запросе определенных страниц нашего сайта посетитель переадресовывался на другие страницы или сайты
Redirect /soft http://www.livedesktop.ru
Redirect /cisco/download.html http://www.itindex.ru/tag/cisco
Redirect 301 /kernel http://www.linux.org
теперь при наборе http://адрес_сайта/soft будут
открываться http://www.livedesktop.ru. В последнем
примере веб-сервер будет возвращать код 301 (Moved Permanently),
что означает "документ перемещен постоянно".
Синтаксис директивы Redirect выглядит следующим образом:
Redirect [status] URL_LOCAL URL_REDIRECT
status : необязательное поле, определяет код возврата веб-сервера (эти коды определены в спецификации протокола HTTP), допустимые значения:
- Moved Permanently (301 — документ перемещен постоянно)
- Moved Temporary (302 — документ перемещен временно)
- seeother (303 — смотри другой документ)
- gone (410 — убран)
URL_LOCAL : локальная часть URL запрашиваемого документа.
URL_REDIRECT : URL куда должен быть выполнен редирект.
Директива RedirectMatch аналогична директиве Redirect за исключением того, что в RedirectMatch возможно использование регулярных выражений, что несомненно может быть удобно в некоторых условиях. Например для организации передачи параметров скрипту в теле URL.
RedirectMatch /(.*)/(.*)/index.html$ http://mysite.ru/script.php?par1=$1&par2=$2
В регулярном выражении можно использовать любые печатные символы и пробел, но часть символов имеет особое значение:
# Круглые скобки () используются для выделения групп символов. В дальнейшем к ним можно обращаться по номеру.
# Символ ^ обозначает начало строки.
# Символ $ обозначает конец строки.
# Символ . обозначает любой символ.
# Символ | обозначает альтернативу. Например, выражения "A|B" означают "A или B".
# Символ ? ставится после символа (группы), который может как присутствовать, так и отсутствовать.
# Символ * ставится после символа (группы), который может отсутствовать или присутствовать неограниченное число раз подряд.
# Символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз.
# Квадратные скобки [] используются для перечисления допустимых символов.
# Квадратные скобки [^] используются для перечисления недоступных символов.
# Символ \ ставится перед спецсимволами, если они нужны в своем первозданном виде.
# Все, что расположено после символа '#', считается комментарием.
Подробнее о файле .htaccess на сайте Apache: http://httpd.apache.org/docs/trunk/howto/htaccess.html
P.S. Здесь и далее используется терминология и под веб-сервером понимается Apache.

















