Перенаправление в мод_реврайт

AU
На сайте с 09.09.2010
Offline
7
336

Здравствуйте

нужен 301 редирект с www.site.ru/tovar1/ на www.site.ru/tovar2/

добавил RewriteRule ^tovar1/$ /tovar2/ [R=301,L]

но редирект идет на site.ru/tovar2/ (на домен без www)


RewriteEngine on
RewriteBase /
RewriteRule ^tovar1/$ /tovar2/ [R=301,L]

RewriteCond %{REQUEST_URI} ^/(images|gal|admin|links|flash|catalog|files|png|uslugi|backlinks|fla).*|^(.*\.xls|.*\.doc|.*\.php|.*\.jpg|.*\.gif|.*\.css|.*\.swf|.*\.js|.*\.htm|.*\.html|.*\.shtml|.*\.txt|.*\.xml)
RewriteRule . - [L]

RewriteCond %{REQUEST_URI} ^/www
RewriteRule ^www/(.*)/$ art_client.php?s_page=$1 [L]

#RewriteCond %{REQUEST_URI}% product/(.*)/
RewriteRule ^product/(.+)/$ product/page.php?$1 [QSA,L]

RewriteCond %{REQUEST_URI}% product/
RewriteRule ^(.+)$ /product/index.php [L]

RewriteCond %{REQUEST_URI} !^/www
RewriteCond %{REQUEST_URI} (.*)[^/\.]+$
RewriteRule .* http://www.site.ru%{REQUEST_URI}/ [L]
RewriteRule ^(.*)/(.*)/(.*)/$ index.php?s_page=$1&id=$2&id2=$3 [L]
RewriteRule ^(.*)/(.*)/$ index.php?s_page=$1&id=$2 [L]
RewriteRule ^(.*)/$ index.php?s_page=$1 [L]

что нужно подправить? или дальнейшие правила перебрасывают на домен без ВВВ ?

gormarket
На сайте с 29.12.2010
Offline
47
#1
AID_UA:
или дальнейшие правила перебрасывают на домен без ВВВ ?

Дальнейшие правила никак не могут перебросить на "на домен без ВВВ".

В приведенном фрагменте нет редиректов ниже добавленной строки, только реврайты, а они посетителю не видны.

Единственное объяснение, которое приходит в голову, это то что Вы заходите на

site.ru/tovar1/

и Вас перебрасывает на тот же домен (без www)

site.ru/tovar2/

Или может приведен не весь .htaccess

Попробуйте вместо Вашей одной строки использовать следующие две


RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$ [NC]
RewriteRule ^tovar1/$ http://www.%2/tovar2/ [R=301,L]

В первой строке извлекается имя домена без www (не важно с www или без был запрос)

Во второй строке идет 301 редирект с "tovar1/" на "tovar2/" на домен с www

Или одной строкой, с указанием конкретного имени домена с www


RewriteRule ^tovar1/$ http://www.site.ru/tovar2/ [R=301,L]
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
AU
На сайте с 09.09.2010
Offline
7
#2

Спасибо, заработало.

А то перед этим и редирект работал, но на домен без ВВВ, и одновременно ответ сервера, при загрузке страницы tovar1/ - был 200, а не 301...

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