Срочный вопрос по дублям страниц

M2
На сайте с 11.01.2011
Offline
341
418

Здравствуйте!

Сайт не могу раскрывать - коммерческая тайна.

Есть главная страница - index.php

Если зайти по адресу index.php?id=410 и имеется страница с id=410, то перекинет на эту страницу.

Если зайти по адресу index.php?id=410 и НЕ имеется страница с id=410, то будет выведено сообщение о том, что страница не найдена.

НО!!!

Если зайти на страницу index.php?id=asdcfg, то при любом раскладе открывается главная страница.

Сознаю, что при таком раскладе появляется ОХРЕНИТЕЛЬНОЕ количество дублей главных страниц, но не я разрабатывал систему управления, а разработчик сознательно пошёл на это, специально прописав в коде это условие (если id не цифра, то открывать главную)..... это ппц какой-то, но это уже оффтоп и не ко мне претензии....

Внимание, вопрос! Каким образом запретить открытие страниц index.php?id=[ID], где [ID] - любое буквенно-цифровое сочетание символов. Интересует запрет через htaccess, через скрипт сам могу сделать.

Спасибо.

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

и в чем тогда проблема?

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

собственно да, проблема то в чем, если вы в состояние исправить скрипт? Зачем лишний раз что то писать в htaccess

Константин Валентинович
На сайте с 23.11.2013
Offline
64
mark2011:
Сознаю, что при таком раскладе появляется ОХРЕНИТЕЛЬНОЕ количество дублей главных страниц,

И откуда они появятся? Вы их в сайтмэпс укажите?

Чем Вы проверяли дубли?

Rulin
На сайте с 16.01.2008
Offline
143
#4

-----------------

Bitcoin Debit Card
Digdug
На сайте с 11.07.2012
Offline
119
#5

Если на сайте mod_rewrite используется, то проще в robots.txt указать Disallow: /?

B1
На сайте с 13.12.2012
Offline
28
#6
Digdug:

Если на сайте mod_rewrite используется, то проще в robots.txt указать Disallow: /?

сами поняли что написали?

index.php?id=410

index.php?id=abc

оба варианта будут закрыты и все QUERY_STRING

Rulin
На сайте с 16.01.2008
Offline
143
#7
mark2011:
Каким образом запретить...
Интересует запрет через htaccess...

Не знаю зачем вам это делать через htaccess, когда куда проще и правильнее это проверять в коде и например 404 выдавать или переадресовывать на главную, но раз хотите htaccess, нати:


RewriteEngine On
RewriteCond %{REQUEST_URI} index\.php
RewriteCond %{QUERY_STRING} (&|^)id=(.*)(&|$)
RewriteCond %{QUERY_STRING} !(&|^)id=[0-9]+(&|$)
RewriteRule .* - [F,L]
SeVlad
На сайте с 03.11.2008
Offline
1609
#8
mark2011:
а разработчик сознательно пошёл на это, специально прописав в коде это условие (если id не цифра, то открывать главную).

А если в QUERY_STRING передаётся не "id" ;)? (просто интересно чего там ещё накрутил разработчик)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
богоносец
На сайте с 30.01.2007
Offline
774
#9
mark2011:
Внимание, вопрос! Каким образом запретить открытие страниц index.php?id=[ID], где [ID] - любое буквенно-цифровое сочетание символов

А попробуйте ещё

/index.php?id=410&КидалЫ=1

/ru/forum/comment/12156533 только там 301 надо вместо каноникала.

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