Форум программистов, компьютерный форум, киберфорум
Наши страницы
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
Sergio Aguero
451 / 442 / 21
Регистрация: 11.04.2012
Сообщений: 2,074
1

редирект 301

27.09.2012, 07:48. Просмотров 2444. Ответов 11
Метки нет (Все метки)

имею:
h t t p:// w w w.site.ru.ru/cgi-bin/catalog/viewgroup_atm.cgi?subgroup=5261&mode=col&seller=&city=&made=
и так все подгруппы товаров в долбанной самописной cms
хочу сделать человеческие чпу, но при этом не вылететь из списка индексированных страниц
в .htaccess что надо прописать??редирект 301???
т.е. так???
Код
Redirect 301 /cgi-bin/catalog/viewgroup_atm.cgi?subgroup=\[0-9]\&mode=col&seller=&city=&made= http://www.site.ru/catalog/group/5261/
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 07:48
Ответы с готовыми решениями:

Редирект 301
Страница располагалась по адресу http://site.ru/mist/, а теперь перенесена на...

редирект 301
есть урл /cgi-bin/product/viewgroup.cgi?biggroup=124& надо сделать урл без...

301-Редирект
Здравствуйте, форумчане! Задача такая: Есть сайт...

Не работает 301 редирект
не работает! RedirectMatch 301 /cgi-bin/catalog/vip.cgi?subgroup=1538...

Mod_rewrite - 301 редирект
Всем здравствуйте! Решил попросить помощи: никак не могу сделать 301...

11
MikleP
19 / 5 / 0
Регистрация: 20.05.2012
Сообщений: 6
27.09.2012, 09:59 2
Чтобы не создавать ещё одну тему, задам здесь же вопрос тоже про редирект 301. Надеюсь автор не против
В общем ситуация такая. Есть каталог, который необходимо переименовать. В итоге нужно:
сайт.ру/старое_имя/%идентификатор%
редирект на
сайт.ру/новоем_имя/%идентификатор%

Проблема в том, что идентификаторов больше 400. Инфу искал, но попадалось одно и то же про переадресацию с www на не-www и с htm на html


Sergio Aguero, мне кажется, тебе без переменной не обойтись, а я видел использование только в примерах с RewriteRule. Я думаю, должно быть отдалённо похожее на это:
Код
RewriteEngine  on
RewriteBase     /
RewriteRule     ^/cgi-bin/catalog/viewgroup_atm.cgi?subgroup=(.*)&mode=col&seller=&city=&made=  http://www.site.ru/catalog/group/$1/ [R=permanent]
0
Sergio Aguero
451 / 442 / 21
Регистрация: 11.04.2012
Сообщений: 2,074
27.09.2012, 10:14  [ТС] 3
MikleP, причем здесь RewriteRule???
мне не чпу нужны!!! а редирект!!!!
чпу я и сам знаю как делаются)
0
MikleP
19 / 5 / 0
Регистрация: 20.05.2012
Сообщений: 6
27.09.2012, 10:31 4
Цитата Сообщение от Sergio Aguero Посмотреть сообщение
MikleP, причем здесь RewriteRule???
мне не чпу нужны!!! а редирект!!!!
чпу я и сам знаю как делаются)
http://www.opennet.ru/base/dev/redirect_url.txt.html - здесь таким образом решается проблема редиректа. я для себя кое-что прикинул:
Код
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/старое_имя/(.*)$/ http://ввв.сайт.ру/новое_имя/$1 [R=301,L]
0
Dolphin
810 / 793 / 201
Регистрация: 21.09.2012
Сообщений: 2,645
27.09.2012, 11:09 5
Цитата Сообщение от MikleP Посмотреть сообщение
Код
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/старое_имя/(.*)$/ http://ввв.сайт.ру/новое_имя/$1 [R=301,L]
Код
RewriteRule ^старый путь(.*) /новый путь$1 [R=301,L]
1
Sergio Aguero
451 / 442 / 21
Регистрация: 11.04.2012
Сообщений: 2,074
27.09.2012, 12:06  [ТС] 6
Dolphin, на моем примере это будет выглядеть так??

Код
RewriteRule /cgi-bin/catalog/viewgroup_atm.cgi?subgroup=([0-9]+)&mode=col&seller=&city=&made= http://www.atmcom.ru/catalog/kommutatori_neupravlyaemie/ALC1224-51/$1  [R=301,L]
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
27.09.2012, 14:02 7
Sergio Aguero,
Код
RedirectMatch 301 ^cgi-bin/catalog/viewgroup_atm.cgi?subgroup=(.*)&mode=col&seller=&city=&made=$ catalog/group/$1
Но бывает не срабатывает поэтому:
Код
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cgi-bin/catalog/viewgroup_atm.cgi?subgroup=(.*)&mode=col&seller=&city=&made=$ catalog/group/$1 [R=301,L,QSA]
2
alefproj
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6
11.03.2013, 22:15 8
Цитата Сообщение от Илья Федин Посмотреть сообщение
Но бывает не срабатывает поэтому:
Код
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cgi-bin/catalog/viewgroup_atm.cgi?subgroup=(.*)&mode=col&seller=&city=&made=$ catalog/group/$1 [R=301,L,QSA]
Вот делаю так, но гет параметры переносятся!
Т.е. получаю на выходе
Код
http://alefproj.jino.ru/obd2/generic/P0007/?code=P0007&brand=1
Код
RewriteRule ^getcode.html?code=(.*)&brand=1$ obd2/generic/$1 [R=301,L,QSA]
Добавлено через 10 часов 4 минуты
Все дело в знаке вопроса в конце, он отрезает GET
Код
RewriteCond %{QUERY_STRING} ^code=(.*)&brand=1$ [NC]
RewriteRule ^getcode\.html http://alefproj.jino.ru/obd2/generic/%1/? [R=301,L]
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16758 / 6648 / 866
Регистрация: 12.06.2012
Сообщений: 19,897
Завершенные тесты: 1
11.03.2013, 22:41 9
Цитата Сообщение от alefproj Посмотреть сообщение
Все дело в знаке вопроса в конце, он отрезает GET
Не отрезает. Просто это "зарезервированный" символ, его надо экранировать. Однако, проэкранировать знак вопроса в RewriteRule, насколько я знаю, невозможно, для чего существует как раз директива RewriteCond с переменной QUERY_STRING
0
alefproj
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6
11.03.2013, 22:44 10
Цитата Сообщение от KOPOJI Посмотреть сообщение
Не отрезает. Просто это "зарезервированный" символ, его надо экранировать. Однако, проэкранировать знак вопроса в RewriteRule, насколько я знаю, невозможно, для чего существует как раз директива RewriteCond с переменной QUERY_STRING
Поясните тогда пожалуйста как правильно.
re.: Хотя и как сейчас - оно работает)
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16758 / 6648 / 866
Регистрация: 12.06.2012
Сообщений: 19,897
Завершенные тесты: 1
11.03.2013, 22:55 11
ну так у вас сейчас последний код и написан правильно. Ну за исключением последнего знака вопроса, он лишний, и пропущенного $ в конце getcode.html (желательно)
0
alefproj
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6
11.03.2013, 22:57 12
Цитата Сообщение от KOPOJI Посмотреть сообщение
ну так у вас сейчас последний код и написан правильно. Ну за исключением последнего знака вопроса, он лишний, и пропущенного $ в конце getcode.html (желательно)
Так а если без знака вопроса то перенос будет с клеем остатков $_GET:
Код
http://alefproj.jino.ru/obd2/generic/P0007/?code=P0007&brand=1
0
11.03.2013, 22:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2013, 22:57

Массовый редирект 301
Проблема. Сайт переехал на новый движок, и поменялись урлы всех старых...

301 редирект htaccess
Здравствуйте. Подскажите: как сделать редирект со всех страниц вида...

Не работает 301 редирект
Redirect 301 /e-store/xml_catalog/?SECTION_ID=1766&ELEMENT_ID=1766...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru