[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Редирект 301 через .htaccess
Владимир55
Страница прежде располагалась по адресу http://site.ru/mist/, а теперь перенесена на адрес http://site.ru/mist-2/.

Какую запись сделать в файле .htaccess для перманентного редиректа 301?

Но надо, чтобы эта директива распространялась на случай обращения к странице с префиксом www.

В .htaccess уже есть запись
RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Razzwan
RewriteCond %{HTTP_HOST} ^www.site.ru/mist-1
RewriteRule ^(.*)$ http://site.ru/mist-2/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]


Это если тебе нужна запись, которая уже там есть.

RewriteCond (От словосочетания rewrite condition - переводится как "условие перезаписи") - это правило, которое должно выполниться, чтоб сработала замена url, которая описана в RewriteRule (дословно переводится как "правило перезаписи")

Т.е. имеем условие: если %{HTTP_HOST} начинается с www.site.ru/mist-1 (^ - начало строки), то переадресовать по правилу ниже.

А именно: любой запрос на этот адрес ^(.*)$ - означает любое количество произвольных символов с началом и концом строки. Перенаправлять на http://site.ru/$1 где вместо $1 подставляется текущий запрос к сайту.

Нужно заметить, что условий RewriteCond может быть несколько подряд, и это будет соответствовать логическому И. Если хотим логическое ИЛИ нужно явно дописать в конце строки [OR]

Если же несколько RewriteRule будет подряд, то это соответствует последовательному применению нескольких правил. Исключения могут быть описаны так же во флагах. Например флаг [L] - означает, что это правило выполнится последним (т.е. если мы его сможем выполнить, то дальнейшие выполняться не будут, в противном случае - идем к следующему правилу).

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.