Как избавиться от двойных url-дубликатов?

12
P
На сайте с 16.05.2011
Offline
75
1262

Здравствуйте, уважаемые форумчане!

Возможно ответ на мой вопрос прост и очевиден, но ответа я до сих пор не нашёл(

Есть сайт site.ru (чистый html с инклудами php) и сегодня в панели вебмастера заметил, что Яндекс занёс в индекс кучу дубликатов страниц вида site.ru/page1.html/page2.html

Проверил. По такому адресу отображается страница page2.html, но не подгружается файл стилей (грубо говоря, вижу текст и ссылки без всяких атрибутов)

Пожалуйста, подскажите, как запретить показ дубликата site.ru/page1.html/page2.html

или, например, редиректить его на корректный адрес site.ru/page2.html

Спасибо!

Artjom77
На сайте с 11.09.2007
Offline
75
#1

Например добавить в .htaccess


RewriteEngine On
RewriteRule ^.*\.html/(.*)\.html$ /$1.html [R]
Проверить сайт на доступность из разных стран (http://check-host.net)
P
На сайте с 16.05.2011
Offline
75
#2

Большое спасибо, попробую чуть попозже.

Кроме того заметил, что по адресу site.ru/page1.html/абркадабра отображается страница page1.html (опять же без стилей), более того, доступны адреса вида site.ru/page1.html/A/B/C/... с произвольным количеством слешей.

Пожалуйста, подскажите, почему впс-ка не отдает стандартную 404 ошибку?😕 Это как-то связано с настройками сервера?

Спасибо!

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

лучше [R=301]

.....

T
На сайте с 19.09.2012
Offline
29
#4
Pchelorussia:
отображается страница page2.html, но не подгружается файл стилей

если отвлечься от наличия самой проблемы, то проблему отсутствия отображения для файла стилей, наверное, можно решить, прописав для файла стиля абсолютный путь (от корня), например "/style.css", а не просто "style.css".

Т.к. в первом случае браузер ищет файл стиля, начиная от /, а во втором - начиная от /page1.html/ (как будто page1.html - папка).

P
На сайте с 16.05.2011
Offline
75
#5

К сожалению, никакой реакции предложенный код:

RewriteEngine On

RewriteRule ^.*\.html/(.*)\.html$ /$1.html [R=301]

((Возможно, неверный синтаксис

turen, спасибо, задача - именно избавиться от мусорных страниц-дубликатов, которые попали в индекс ПС

C
На сайте с 04.02.2005
Offline
291
#6

И очень внимательно понять, что такое абсолютный, а что такое относительный путь.

У вас ссылки на сайте написаны href="page2.htm"

отсюда и левые дубликаты.

RewriteRule ^.*\.html/(.*)\.html$ http://sitename.ru/$1.html [R=301]

P
На сайте с 16.05.2011
Offline
75
#7

Chukcha, да, совершенно верно, ссылки на сайте относительные, по некоторой причине мне крайне неудобно и нежелательно использовать абсолютные пути.

Chukcha:
RewriteRule ^.*\.html/(.*)\.html$ http://sitename.ru/$1.html [R=301]

Пожалуйста, подскажите, какую функцию выполняет данная строка, вот этого, увы, не знаю(

siv1987
На сайте с 02.04.2009
Offline
427
#8
Pchelorussia:
((Возможно, неверный синтаксис

Синтаксис верный. Возможно

a) не туда добавляете

b) статика отдается nginx-ом, поээтому запросы до апача не доходят. Либо же вовсе апач отсутствует.

P
На сайте с 16.05.2011
Offline
75
#9

Сервак нгикс + апач, добавляю после директивы AddType application/x-httpd-php5 .htm .html .sntml .php

Должен же быть какой-то способ убрать дубли, а если не убрать, то скрыть их от ПС😕

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

nginx обычно настроен так, чтобы он сам отдавал статику.

Pchelorussia:
Должен же быть какой-то способ убрать дубли, а если не убрать, то скрыть их от ПС

Привести сайт в нормальный вид

Закрыть в роботсе

Disallow: /*.html/

12

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