301 redirect - HELP

N
На сайте с 02.03.2009
Offline
51
576

Помогите, пожалуйста, сделать 301-ый редирект с обрезанием GET-параметров со страницы одного сайта http://XXX/catalog/cat/ID_13/good/ID35383/ на страницу другого сайта http://YYY/katalog/tochilki/35383/

при обычном 301-ом редиректе

Redirect 301 /catalog/cat/ID_13/good/ID35383/ http://YYY/katalog/tochilki/35383/

происходит перенаправление с get-параметрами:

http://YYY/katalog/tochilki/35383/?query_string=catalog/cat/ID_13/good/ID35383/

htaccess сейчас такой:

DirectoryIndex index.phtml index.php3
AddType application/x-httpd-php .php3 .phtml .php .htm .html
AddDefaultCharset windows-1251

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/components/.*
RewriteCond %{REQUEST_URI} !^/css/.*
RewriteCond %{REQUEST_URI} !^/files/.*
RewriteCond %{REQUEST_URI} !^/images/.*
RewriteCond %{REQUEST_URI} !^/private.*
RewriteCond %{REQUEST_URI} !^/includes/.*
RewriteCond %{REQUEST_URI} !^/stat/.*

RewriteCond %{REQUEST_URI} !^/index.phtml.*
RewriteCond %{REQUEST_URI} !^/codeimg.phtml.*
RewriteCond %{REQUEST_URI} !^/download.phtml.*
RewriteCond %{REQUEST_URI} !^/getimage.phtml.*
RewriteCond %{REQUEST_URI} !^/excel.phtml.*
RewriteCond %{REQUEST_URI} !^/favicon.ico.*
RewriteCond %{REQUEST_URI} !^/robots.txt.*
RewriteCond %{REQUEST_URI} !^/ya_market.xml.*
RewriteCond %{REQUEST_URI} !^/yandex_market.xml.*

RewriteCond %{REQUEST_URI} !^/forum/.*

RewriteCond %{REQUEST_URI} !^/server/.*
RewriteCond %{REQUEST_URI} !^/mysql/.*
RewriteCond %{REQUEST_URI} !^/public/.*
RewriteCond %{REQUEST_URI} !^/tmp/.*
RewriteCond %{REQUEST_URI} !^/html/.*

RewriteRule (.*) /index.phtml?query_string=$1&%{QUERY_STRING} [L]
.
M2
На сайте с 11.01.2011
Offline
341
#1


RewriteCond %{QUERY_STRING}^query_string=здесь гет параметры [NC]
RewriteRule ^XXX ^YYY [R=301, L]

Подставьте только свои значения.

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
N
На сайте с 02.03.2009
Offline
51
#2

Internal Server Error

RewriteCond  %{QUERY_STRING}^query_string=catalog/cat/ID_13/good/ID35383/ [NC]

RewriteRule ^/catalog/cat/ID_13/good/ID35383/$ ^http://YYY/katalog/tochilki/35383/$ [R=301, L]

пробовал и без $, та же самая ошибка.

M2
На сайте с 11.01.2011
Offline
341
#3
nogarbage:
Internal Server Error

Что пишет в error.log?

IL
На сайте с 20.04.2007
Offline
435
#4

RewriteRule ^catalog/cat/ID_13/good/ID35383/ http://YYY/katalog/tochilki/35383/? [R=301,L]

Вставлять после RewriteEngine ON

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
domen4you
На сайте с 08.03.2013
Offline
53
#5

Стояла задача сделать редирект для ВСЕХ поддоменов (в т.ч. и www) корректно ли её решить таким образом?

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^site\.ru
RewriteRule (.*) http://site.ru/$1 [R=301,L]


---------- Добавлено 19.06.2013 в 14:52 ----------

квадратные скобки там вместо звёздочек, не отображаются почему-то
IL
На сайте с 20.04.2007
Offline
435
#6
domen4you:
корректно ли её решить таким образом?

ну.. потенциально, например, site.rublabla не сработает

А вообще

RewriteCond %{HTTP_HOST} !=site.ru
domen4you
На сайте с 08.03.2013
Offline
53
#7

ivan-lev,

poddomen.site.ru/page.php

переход на

site.ru/page.php

вроде всё ок с этим, это и требовалось

IL
На сайте с 20.04.2007
Offline
435
#8
domen4you:
вроде всё ок с этим, это и требовалось
!^site\.ru

Имел ввиду, что под эту регулярку подходит site.ru{всёчтоугодно}

т.е. "потенциально", в случае если использовано зеркало на домене, например site.rubaha.ru то редиректа не будет.

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