Подскажите плз по редиректу

<<Desperado>>
На сайте с 27.08.2007
Offline
58
626

К примеру, урл страницы детального просмотра такой:

www.site.ru/news/?ID=5000

www.site.ru/art/?ID=6666

но система генерит еще и такие:

www.site.ru/news/index.php?ID=6666

www.site.ru/art/index.php?ID=6666

как сделать редирект с таких урлов на www.site.ru/news/?ID=5000 (и www.site.ru/art/?ID=6666 соответственно) ??

Но нужно учесть, что такой редирект что бы работал только относительно категории news и art

А вот такой урл www.site.ru/news/index.php надо редиректить на www.site.ru/news/

Greensneak
На сайте с 26.05.2013
Offline
99
#1

А может лучше дубли через роботс закрывать?

Регистрация домена (https://goo.gl/8evS7V), хостинг (https://goo.gl/xhACo2)
[Удален]
#2
<<Desperado>>
На сайте с 27.08.2007
Offline
58
#3

Greensneak, дубли закрыты само собой

teent, там немного не то.

Мне надо убирать index.php только в двух категориях:

www.site.ru/news/index.php?ID=6666

www.site.ru/art/index.php?ID=6666

в других типа

www.site.ru/news2/index.php?ID=6666

www.site.ru/art2/index.php?ID=6666

надо оставить все как есть.

Подскажите плз.

siv1987
На сайте с 02.04.2009
Offline
427
#4
<<Desperado>>:
teent, там немного не то.

RewriteCond %{QUERY_STRING} !^$

RewriteRule ^(news|art)/index.php$ / [R=301,L]

<<Desperado>>
На сайте с 27.08.2007
Offline
58
#5
siv1987:
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(news|art)/index.php$ / [R=301,L]

Спасибо, но в вашем случае оно перебрасывает сюда:

www.site.ru/?ID=5000

www.site.ru/?ID=6666

а должно сюда:

www.site.ru/news/?ID=5000

www.site.ru/art/?ID=6666

И вот такие урлы:

www.site.ru/news/index.php

оно не переводит на www.site.ru/news/

siv1987
На сайте с 02.04.2009
Offline
427
#6
<<Desperado>>:
И вот такие урлы:

www.site.ru/news/index.php

Такие не будет, незачем и потому что не соответствуют условию.

<<Desperado>>:
Спасибо, но в вашем случае оно перебрасывает сюда:

заменить / [R=301,L] на /$1/ [R=301,L]

<<Desperado>>
На сайте с 27.08.2007
Offline
58
#7

Подскажите плз как в htaccess настроить 404-ю

http://www.site.ru/template/cat/news.php

http://www.site.ru/template/cat/news2.php

http://www.site.ru/template/cat/news2.php

все они в категории cat находятся. Сейчас, добавляя любой параметр в GET страницы отдает 200-й ответ, напрмиер:

http://www.site.ru/template/cat/news.php?efwfrewf

http://www.site.ru/template/cat/news2.php?454545

как сделать так, что бы в этой категории (cat) ко всем урлам нельзя было добавить параметры какие либо?

если бы что то добавляли, то была 404-я ошибка?

siv1987
На сайте с 02.04.2009
Offline
427
#8

По хорошему это нужно настраивать в скриптах. Но если костылями то

RewriteCond %{QUERY_STRING} !^$

RewriteRule ^template/cat/ - [R=404]

вместо '-' можно указать файл 404 страницы

AlexandrSG
На сайте с 14.11.2010
Offline
74
#9

ТС, почему бы сразу не сделать на сайте ЧПУ и все туда редиректить?

Консультации, Inside/Outside (/ru/forum/809679) оптимизация/продвижение
<<Desperado>>
На сайте с 27.08.2007
Offline
58
#10
AlexandrSG:
ТС, почему бы сразу не сделать на сайте ЧПУ и все туда редиректить?

геморно это, несколько тыщ стр в индексе, около 5-и лет. Да и на Битриксе гемор это все перенастроить.

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