Перенаправление в .htaccess

12 3
KA
На сайте с 16.05.2012
Offline
19
2127

Добрый день!

После переноса сайта с самописного движка на Opencart требуется перенаправление всех ссылок вида

http://example.ru/index.php?categoryID=48

на страницы

http://example.ru/index.php?route=product/category&path=48,

так как ранее были закуплены ссылки.

В файл .htaccess вставил такую строку (выделено синим), но перенаправляет на главную. В чем моя ошибка?

RewriteBase /

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]

RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]

RewriteRule ^download/(.*) /index.php?route=error/not_found [L]

RewriteRule ^index.php?categoryID=(.*)$ /index.php?route=product/category&path=$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

J
На сайте с 20.02.2014
Offline
120
jkm
#1
Kolya-an:

RewriteRule ^index.php?categoryID=(.*)$ /index.php?route=product/category&path=$1 [L,R=301]


RewriteCond %{QUERY_STRING} ^categoryID=(\d+)$
RewriteRule ^index\.php$ /index.php?route=product/category&path=%1 [L,R=301]
KA
На сайте с 16.05.2012
Offline
19
#2

Спасибо большое, помогло!

J
На сайте с 20.12.2014
Offline
5
#3

Нужно сделать следующее преобразование

http://juristcomp.ru/index.php?id=3363&tovar_1=8495&type=3

на

http://juristcomp.ru/toindex.php?product=363

Делаю так

RewriteRule ^index.php?id=3363&tovar_1=8495&type=3$ toindex.php?product=363 [L]

Но насколько я понял, htaccess урезает все, что после знака вопроса. Пробовал экранировать знаки вопроса и добавлять флаг QSA, но все равно не вышло. Как осуществить преобразование?

M
На сайте с 04.12.2013
Offline
223
#4

В паттерне не проверяются параметры. Используйте условие с переменной QUERY_STRING.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
siv1987
На сайте с 02.04.2009
Offline
427
#5

juristcomp,

RewriteCond %{QUERY_STRING} ^id=3363&tovar_1=8495&type=3$

RewriteRule ^index\.php$ /toindex.php?product=363 [L,R=301]

J
На сайте с 20.12.2014
Offline
5
#6

Спасибо. Попробую

VH
На сайте с 30.03.2011
Offline
61
#7

Помогите и мне составить перенаправление...

Есть ссылки типа:

site.com/zh-CN/showthread.php/23139-Autosport-UK-18-September-2014

site.com/lt/showthread.php/13350-Загородный-дом-НАС-№12-2013

site.com/uk/showthread.php/15157-Грань-Будущего-(Аудиокнига)

и таких очень много

хочу всех их перенаправлять на:

site.com/zh-CN/

site.com/lt/

site.com/uk/

соответственно...

zh-CN, lt, uk, ....... - это идентификаторы языковой версии сайта

Подскажите правильный редирект для .htaccess

Спасибо!

J
На сайте с 20.02.2014
Offline
120
jkm
#8


RewriteRule ^([^/]+/)showthread.php/.+ /$1 [R=301,L]
VH
На сайте с 30.03.2011
Offline
61
#9

jkm, так точно! Спасибо! работает....

V
На сайте с 01.03.2008
Offline
62
#10

Подскажите, как сделать...

Нужен редирект с site.ru/ales/ на site.ru/ales.html

Попробовал Redirect 301 /ales/ http://site.ru/ales.html

Но в адресной строке тогда выдает:

ales.html?q=ales/

вместо ales.html

В чем тут проблема? Спасибо!

12 3

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