0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 11
1

301-Редирект

30.05.2014, 01:30. Показов 1710. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, форумчане! Задача такая:
Есть сайт http://site.ru/catalog/бла-бла-бла (т.е. после /catalog/ может много что идти). Сайт давний, на многих форумах и блогах люди на него во всю ставят ссылки, например:

http://site.ru/catalog/audi/100/
http://site.ru/catalog/registration
http://site.ru/catalog/pages1.html
и т.д. Но на какую бы страницу не ссылались, везде присутствует /catalog/, который идёт сразу после имени сайта.

Домен я менять не собираюсь, разве что структура урлов в новом сайте будет абсолютно другая. И естественно, если кто по ссылкам будет переходить старым типа http://site.ru/catalog/......... - то в новом сайте у меня будет лишь 404 Not Found.

Вот я и хочу, чтобы при наборе старых урлов http://site.ru/catalog/........ - мой новый .htaccess редиректил всё это в крпень сайта http://site.ru./, например:

Набрал чел старый урл любого типа http://site.ru/catalog/....... - а его перенаправляло в корень: http://site.ru.

Вроде тривиально, но покроме столько работы - что уже тупить начинаю. Буду благодарен всем.

Добавлено через 1 час 3 минуты
Надумал:
RewriteRule ^catalog/ / [R=301]
Вроде пашет.
Но после /catalog/ может что угодно стоять, как это отределить?
^catalog/(.*)
^catalog/.+
^catalog/?+
^catalog/.* наверное?

????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2014, 01:30
Ответы с готовыми решениями:

редирект 301
имею: h t t p:// w w...

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

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

301 редирект
Помогите пожалуйста с настройкой редиректа в htaccess. Необходимо настроить редирект с сайта...

5
Заблокирован
30.05.2014, 10:09 2
.* со скобками, иначе регулярки не выйдет $1 для подстановки. Но ещё учитывать /catalog/catalog надо.
0
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 11
30.05.2014, 14:55  [ТС] 3
Вы наверное не совсем поняли:
RewriteRule http://site.ru/catalog/<здесь что угодно - хоть отрывок из "Войны и Мир"> ----> всегда редиректить на http://site.ru/ [R=301]
Главный критерий - что если на старой ссылке имеется в урле /catalog/ (на новом урле такого словосочетания не будет) - тут же редиректить на начальную страницу нового сайта - http://site.ru. И как-то определить - что НЕВАЖНО что чтоит в старом урле ПОСЛЕ /catalog/ - фраза /ctalog/ попалась - значит урл старый, редиректим.
Просто в регулярках запутался.

^/catalog/(.*) - это вроде только лишь 1 параметр подразумевается, например, ^/catalog/pages/. А ведь в старых урлах бывает и куча параметров после /catalog/: http://site.ru/catalog/cabinet... ser/2/edit. И мне надо регулярку для .htaccessa, которой ПОФИГУ что идёт после /catalog/. Толи /catalog/* , толи /catalog/.* (вроде как читал - ТОЧКА обозначает любой символб а ЗВЁЗДОЧКА - может отсутствовать или присутствовать неограниченное число раз подряд)

Запутался в конец. Помогите, ГУРУ!

PS: Dr_Quake писал, что ".* со скобками, иначе регулярки не выйдет $1 для подстановки.". Дак а куда мне $1 подстанавливать? Редиректить-то будет на чистый http://site.ru/ безо всяких параметров - прям на корень сайта.
0
Заблокирован
30.05.2014, 14:58 4
И что не так то?

RewriteRule ^catalog/(.*) /$1 [R=301]
0
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 11
30.05.2014, 16:25  [ТС] 5
"И что не так то?

RewriteRule ^catalog/(.*) /$1 [R=301]"

(.*) - это всё что идёт после /catalog/. $1 - это то, что заменяется на (.*)

К примеру: был урл http://site.ru/catalog/register/user/. Получается, что (.*) - это ни что иное как "register/user/".

Получается урл, на который меня средиректит, получится такой: http://site.ru/register/user/


Вы прикалываетесь?
0
Заблокирован
30.05.2014, 17:18 6
Так если ты хочешь убить поисковики и редирить без хвоста - просто убери $1. Эффект то тот же, хоть и не будет 404.
0
30.05.2014, 17:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2014, 17:18
Помогаю со студенческими работами здесь

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

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

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

Правильный редирект 301
Доброго всем времени суток. Если не сложно, подскажите пожалуйста, как правильно прописать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru