Помощь по редиректу через htaccess

12 3
N
На сайте с 02.03.2009
Offline
51
1298

Помогите по редиректу. Сейчас в htaccess следующее:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxx.ru
RewriteRule ^(.*)$ http://yyy.xxx.ru/ [R=permanent,L]
RewriteCond %{HTTP_HOST} ^www.xxx.ru
RewriteRule ^(.*)$ http://yyy.xxx.ru/ [R=permanent,L]

Появилась задача сделать редирект со страницы /2013-1/ сайта xxx (http://xxx/2013-1/) на следующую страницу на поддомене yyy.xxx.ru:

http://yyy.xxx.ru/news/novogodnyaya_rasprodazha_2013/?utm_source=sms&utm_medium=sms&utm_term=marketing&utm_campaign=akciya-2013

Но при этом сохранить редирект с домена на поддомен по остальным адресам типа http://xxx.ru, http://xxx.ru/2/ и пр. Помогите, пожалуйста, как это можно сделать?

.
siv1987
На сайте с 02.04.2009
Offline
427
#1

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.ru

RewriteRule ^2013-1/$ http://yyy.xxx.ru/news/novogodnyaya_rasprodazha_2013/ [R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.ru

RewriteRule ^(.*)$ http://yyy.xxx.ru/ [R=301,L]

tlustenko
На сайте с 18.12.2011
Offline
90
#2

чтоб не создавать отдельную тему....

есть сайт - site.com и site.net

site.com - главный.

site.net - зеркало, которое редиректится на site.com

здесь редирект работает исправно.

на сайте лежит папка /mp3/

здесь появляется бок.

становится доступны адреса:

site.com/mp3/ и site.net/mp3/

не пойму как от этого избавиться. Нужно чтобы было доступно ТОЛЬКО site.com/mp3/

ведь корневой htaccess присваивает правила всему сайту. правильно же?

или в папке mp3 тоже нужно сделать свой htaccess со своим редиректом?

W
На сайте с 25.05.2010
Offline
43
#3

Если я правильно понял то вот

Запрет на редирект вашей папки

RewriteRule ^mp3/.*$ - [PT]

tlustenko
На сайте с 18.12.2011
Offline
90
#4

а почему запрет? наоборот нужно принудительно перенаправить с .net на .com

W
На сайте с 25.05.2010
Offline
43
#5
tlustenko:
а почему запрет? наоборот нужно принудительно перенаправить с .net на .com

Да действительно не правильно понял ТС , подумал что он имеет ввиду оставить доступную директорию на зеркале site.net/mp3/ сори

siv1987
На сайте с 02.04.2009
Offline
427
#6
tlustenko:
наоборот нужно принудительно перенаправить с .net на .com
tlustenko:
site.com - главный.
site.net - зеркало, которое редиректится на site.com

десять таких редиректов

tlustenko
На сайте с 18.12.2011
Offline
90
#7
siv1987:
десять таких редиректов

в смысле?

в общем задача остаётся:

в htaccess сделать постоянный редирект с site.net/mp3 на site.com/mp3

siv1987
На сайте с 02.04.2009
Offline
427
#8
tlustenko:
в смысле?

В том смысле, что прочитайте еще раз свои сообщения. Ключевое место я вам выделил жирный.

Редирект свой покажите. И желательно содержимое htaccess обоих доменов если они в разных местах. Также содержимое htaccess папки mp3 если он есть.

Да, лучше бы вы создали отдельную тему

tlustenko
На сайте с 18.12.2011
Offline
90
#9

1) htaccess в корне. часть, которая отвечает за редирект с net на com:

# редирект с .net на .com

RewriteCond %{HTTP_HOST} ^site\.net [NC,OR]

RewriteCond %{HTTP_HOST} ^www\.site\.net$ [NC,OR]

RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]

RewriteRule ^(.*)$ http://site\.com/$1 [R=301,L]

# редирект с www на БЕЗ www

RewriteCond %{HTTP_HOST} ^www.site.com$ [NC]

RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]

здесь всё работает. если в браузере набрать site.net, то редиректит на site.com - всё верно.

но если набирать site.net/mp3 или www.site.net/mp3 - то страница загружается, хотя должно вести на site.com/mp3

2) htaccess в папке mp3:

# переадресация с index.php на /mp3

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /mp3/index\.php\ HTTP/

RewriteRule ^index\.php$ http://site.com/mp3/ [R=301,L]

это работает.

адреса с index.php

site.com/mp3/index.php
www.site.com/mp3/index.php
site.net/mp3/index.php
www.site.net/mp3/index.php

ведут на site.com/mp3

всё правильно.

# редирект с .net на .com

RewriteCond %{HTTP_HOST} ^site\.net\mp3\ [NC,OR]

RewriteCond %{HTTP_HOST} ^www\.site\.net\mp3\$ [NC]

RewriteRule ^(.*)/mp3/$ http://site\.com/mp3/$1 [R=301,L]

вот эта часть не работает. пробовал разные варианты. редиректа так и не добился

mod_rewrite конечно включен.

siv1987
На сайте с 02.04.2009
Offline
427
#10

Нахрена столько редиректов по хосту?

В mp3 вообще не должно быть никаких ре в рай тов, потрите все оттуда и перенесите в корневой htaccess, все равно кроме первого остальное ничего не рабочее.

---------- Добавлено 26.11.2013 в 01:17 ----------

tlustenko:
вот эта часть не работает.

Эту часть надо нафиг снести, потому что она не рабочее. И перенести остальное в корень. Там не должно остаться ничего с Rewrite*

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий