Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Редирект 301 через .htaccess
Владимир55  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Любопытный
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 920
Пользователь №: 27293
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: -1




Страница прежде располагалась по адресу 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]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Razzwan  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Землянин
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 622
Пользователь №: 40774
На форуме: 1 год, 10 месяцев, 26 дней
Карма: 10




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] - означает, что это правило выполнится последним (т.е. если мы его сможем выполнить, то дальнейшие выполняться не будут, в противном случае - идем к следующему правилу).


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса