Директивы перенаправления .htaccess
Иногда просто необходимо осуществлять редирект страниц сайта, в случае смены доменного имени сайта, либо ещё возможен вариант, когда редирект применяется для добавления в конце ссылки слэша – косой черты «/». Так вот для таких целей можно использовать файл .htaccess. Но это очень неудобно, если Ваш сайт имеет от 100 и выше страниц, на это есть другие методы.
Предположим мы хотим при запросе нашего сайта переадресовать пользователя на другой URL, для этого нам необходимо в корневую директорию сайта добавить файл .htaccess со следующим содержимым:
# http://www.example.com — URL на который мы перенаправляем запросы
более сложный пример, мы хотим определенные страницы нашего сайта переадресовывать на другие сайты:
Redirect /linux/download.html http://www.linux.org/dist/download_info.html
Redirect 301 /kernel http://www.linux.org
теперь при наборе http://mysite.ru/linux будут открываться http://www.linux.org. В последнем примере WEB сервер будет передавать код 301, что означает «документ перемещен постоянно».

Redirect [status] URL_LOCAL URL_REDIRECT

* permanent (301 — документ перемещен постоянно)
* temp (302 — документ перемещен временно)
* seeother (303 — смотрите другой)
* gone (410 — убран)
URL_LOCAL : локальная часть URL запрашиваемого документа.
URL_REDIRECT : URL куда должен быть выполнен редирект.
RedirectMatch
Директива RedirectMatch аналогична директиве Redirect за исключением того, что в RedirectMatch возможно использование регулярных выражений, что несомненно может быть удобно в некоторых условиях. Например для организации передачи параметров скрипту в теле URL.
RedirectMatch /(.*)/(.*)/index.html$ http://mysite.ru/script.php?par1=$1&par2=$2
Хотя данный пример и вызовет перезагрузку страницы в дальнейшем его можно будет улучшить. Здесь необходимо сделать небольшое лирическое отступление и поговорить о синтаксисе регулярных выражений.

- Круглые скобки () используются для выделения групп символов. В дальнейшем к ним можно обращаться по номеру.
- Символ ^ обозначает начало строки.
- Символ $ обозначает конец строки.
- Символ . обозначает любой символ.
- Символ | обозначает альтернативу. Например, выражения «A|B» означают «A или B».
- Символ ? ставится после символа (группы), который может как присутствовать, так и отсутствовать.
- Символ * ставится после символа (группы), который может отсутствовать или присутствовать неограниченное число раз подряд.
- Символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз.
- Квадратные скобки [] используются для перечисления допустимых символов.
- Квадратные скобки [^] используются для перечисления недоступных символов.
- Символ \ ставится перед спецсимволами, если они нужны в своем первозданном виде.
- Все, что расположено после символа ‘#’, считается комментарием.
Это все основные примитивы с помощью которых можно построить любое регулярное выражение.
Редирект через .htaccess с использованием mod_rewrite
Этот метод работает в Apache c включенным mod_rewrite — модулем, который позволяет осуществлять ряд полезных функций. Например, преобразование ссылок вида http://site.com/index.php?module=news в более удобную и интуитивно понятную форму для обычного человека: http://site.com/news/. Благодаря ему, мы можем конфигурировать редирект под конкретно взятую ситуацию. Подробнее о возможностях mod_rewrite Вы можете прочитать здесь (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html).
RewriteBase/
GET /index.html HTTP/1.1
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://daxa.com.ua/news.php [R=301,L]
RewriteEngine on — включает механизм преобразования.
RewriteBase — простыми словами можно сформулировать так: RewriteBase указывает директорию преобразования. У нас это корневой каталог.
RewriteCond — в этой директиве мы указывает условие, в случае выполнения которого переходим к RewriteRule.
{THE_REQUEST} — строка HTTP-запроса
RewriteRule — задает правило преобразования URL. Здесь используются регулярные выражения.
[R=301,L] — флаг R указывает на редирект «301», L — останавливает процесс преобразования.
Помните, что редирект делают не только для посетителей Web-сайта, а и для поисковых роботов, от которых зависит рейтинг Вашего Интернет-портала в поисковых системах.
Твитнуть
А вы можете обьяснить зачем гасить .htaccess, когда ставишь ДЛЕ, а потом опять востанавливать?
во-первых это не панацея, а во-вторых не одним ДЛЕ единым…)
Подробная статья, как раз нужно было сделать редирект.
Большое спасибо, то что нужно! А то уже отчаился… везде какой-то бред был написан.
я включаю музыку и все замечательно редактируется
теперь перенаправление работает!
Я вижу что ты разбираешься, вот хочу переадресовать
Это
http: // livelylife . ru/index.php?page=ru_%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F
надо переадресовать в livelylife.ru страницы одинаковые хочу убрать копию
для Аpach
пробовал так не работает:
RewriteEngine on
RewriteBase /
Redirect 301 /index.php?page=ru_%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F http:// livelylife . ru/
мод Rewrite включен
если внимательнее почитать, то mod_rewrite подразумевает использование условий и правил.
У вас немного не такой синтаксис, попробуйте так:
RewriteEngine on
RewriteRule ^/$ /index.php?page=ru_%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F [L]
здесь при запросе ваш сайт/index.php?page=ru_%D0….. будет выдаватся главная станица сайта/
Извини ,что так много ссылок, удали сообщение но ответь пожалуйста. Заранее спасибо.
Лично мне, понравился этот коммент. Обязательно зайду ещё раз
Всегда мучалась с перенаправлением с доменного имени без www на домен с www. обычно делала все это через хостинг, но там все както глючно и не с первого раза работало. Попробовала ваш метод, и вы занете, он намного лучше чем через хостинг, все моментально перенаправилось:) Вобщем спасибо!
Спасибо за статью, разобралась наконец-то с редиректом 301, сделала с jlady.ru на www. jlady.ru , вроде бы все работает. Говорят так лучше.
Отличная статья, хоть теперь стало понятно, для чего данный файлик нужен, и как правильно его исправить, теперь сделал себе редирект на www. А то постоянно приходилось через С-panel делать.