Проблема с htaccess

Q
На сайте с 04.07.2009
Offline
27
505

Такая трабла. [РЕШЕНО]

Нужен банальный редирект с www.poddomen.site.ru на poddomen.site.ru

Пишем:

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

Получаем при переходе по www.poddomen.site.ru переброс на poddomen.site.ru/www

Это что за ерунда такая????

allleXX77
На сайте с 31.10.2010
Offline
94
#1
qwaker:
Такая трабла.

Нужен банальный редирект с www.poddomen.site.ru на poddomen.site.ru

Пишем:

RewriteCond %{HTTP_HOST} ^www\.poddomen\.site\.ru$

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


Получаем при переходе по www.poddomen.site.ru переброс на poddomen.site.ru/www

Это что за ерунда такая????

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

izbushka
На сайте с 08.06.2007
Offline
110
#2
allleXX77:
RewriteCond %{HTTP_HOST} ^www\.poddomen\.site\.ru$ [NC]

NC - означает nocase (без учета регистра). Как это поможет? :)

ТС, вообще такого быть не должно, других правил редиректа нет?

Q
На сайте с 04.07.2009
Offline
27
#3
izbushka:
NC - означает nocase (без учета регистра). Как это поможет? :)
ТС, вообще такого быть не должно, других правил редиректа нет?

Другие правила есть, может быть в них дело?

Полный код выглядит так:

 RewriteEngine on

RewriteBase /


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

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

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

... И так далее 50 городов

Что-то делаю не то?

C
На сайте с 04.02.2005
Offline
291
#4

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

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

Q
На сайте с 04.07.2009
Offline
27
#5
Chukcha:
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]

Не сработало.

Браузер пишет:

На этой странице обнаружена циклическая переадресация

http://www.poddomen.site.ru/www/www/www/www/www/www/www/www/www/www/www/www/www/www/www/www/www/www/www/www/www/

---------- Добавлено 25.12.2012 в 16:45 ----------

РЕШЕНО!

Решилось простым удалением домена в панели хостера и перезалитием файлов. Видимо, что-то сбилось.

Спасибо, кто помогал!

gormarket
На сайте с 29.12.2010
Offline
47
#6

Совсем не обязательно писать персональные редиректы для каждого из 50 городов, достаточно одного редиректа вида


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

Но у Вас это тоже не будет работать, у Вас еще есть где-то правила (которые делают переадресацию на папку города).

Или в этом же файле htaccess, или в каком то другом файле htaccess. В же не написали, что этот файл из корневой папки сайта.

Это правило нужно вставлять в файл htaccess, расположенный в корне сайта.

И вставлять сразу после первых строк

RewriteEngine on

RewriteBase /

(в принципе таких строк может быть несколько в особо навороченном файле)

Еще для исключения влияния нижележащих правил я обычно советую создать какую-нибудь переменную, например RVR (в редиректе задается переменной значение, а при следующем проходе по файлу это значение проверяется)

В общем после первых строк

RewriteEngine on

RewriteBase /

вставьте такой код


RewriteCond %{ENV:REDIRECT_RVR} ^yes$
RewriteRule .* - [L]
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.site\.ru)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301,E=RVR:yes]
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
siv1987
На сайте с 02.04.2009
Offline
427
#7
Chukcha:
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]

Неправильно. Если %{HTTP_HOST} содержит www, перебрасываете снова на %{HTTP_HOST}, то есть остался тот же HTTP_HOST с www. Здесь следует писать

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

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

C
На сайте с 04.02.2005
Offline
291
#8

siv1987, да, да, да ....

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