Дубли страниц из-за слэша

ramnek
На сайте с 16.11.2008
Offline
48
601

Привет всем..

Заметил интересную особенность..

Например у нас есть страница /s/primer.html

Если на сайте без движка задать URL "////s/////primer.html"

то страница будет выведена верно..

Кто-нибудь думал как решить данную проблему?

> Как заработать на своем сайте (http://zarabotat-na-sajte.ru/)
> Инвестиции в интернете (http://zarabotat-na-sajte.ru/investitsii/vlozhenie-deneg-v-internete.html)
den78ru
На сайте с 12.04.2006
Offline
395
#1
ramnek:
то страница будет выведена верно..

Как она выводится - неважно, важно какой при этом отдаётся код. Если 200, то надо лечить.

Некоторые моменты лечатся превентивно, т.е. неиспользованием говнодвигов типа Жумлы.

Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
bon_eur
На сайте с 09.06.2012
Offline
40
#2
ramnek:
Кто-нибудь думал как решить данную проблему?

mod_rewrite легко решает такие проблемы.

ramnek
На сайте с 16.11.2008
Offline
48
#3
bon_eur:
mod_rewrite легко решает такие проблемы.

В смысле прописать такие ситуации через регулярные выражения?

bon_eur
На сайте с 09.06.2012
Offline
40
#4
ramnek:
В смысле прописать такие ситуации через регулярные выражения?

Да, поставить 301 редирект с урлов с несколькими слэшами на правильные адреса.

P
На сайте с 06.01.2009
Offline
601
#5
ramnek:

Например у нас есть страница /s/primer.html
Если на сайте без движка задать URL "////s/////primer.html"
то страница будет выведена верно..

Кто-нибудь думал как решить данную проблему?

Что мешает сделать так?

Disallow: *//

---------- Добавлено 10.07.2012 в 18:33 ----------

bon_eur:
mod_rewrite легко решает такие проблемы.

Напишите код, плз, если не затруднит.

bon_eur
На сайте с 09.06.2012
Offline
40
#6
postavkin:
Напишите код, плз, если не затруднит.

RewriteRule (^|.*[^/]+)//+(.*)$ $1/$2 [R=301,L]

Таким кодом можно за каждый проход убирать по одной группе слэшей. Но это не избавит от появления, например, такого дубля /s/primer.html/

Не говоря уж про /s/primer.html?qwe

Полное и несложное решение вопроса - указание в каждом html истинного адреса страницы (canonical). Работает и в Яндексе, и в Гугле. Но это не слишком удобно для случая, когда уже есть много страниц, а сайт без движка, как указал ТС.

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