Дублирование контента сайта

zZmeIOka
На сайте с 30.05.2007
Offline
269
503

Привет камрады!

Есть несколько коряво сделанный пациент, на котором страницы вида http://www.site.ru/index.php?mod=catalog и http://www.site.ru/?mod=catalog отдают разный контент. Получается, мягко говоря, нехорошо. Чо делать-та? :crazy:

С меня - жЫрная простава! :rolleyes:

ps - в индексе должны быть только страницы, не содержащие кусочек урла index.php

[umka]
На сайте с 25.05.2008
Offline
456
#1

1. Редиректы — наше всё :)

2. А в идеале подкрутить движок.

p.s. ну и раскрыть название движка стоило бы для утоления любопытства общественности.

Лог в помощь!
zZmeIOka
На сайте с 30.05.2007
Offline
269
#2

[umka], а как бы попонятнее с редиректами объяснить человеку, который с ними дела не имел? ;)

[umka]
На сайте с 25.05.2008
Offline
456
#3
zZmeIOka:
[umka], а как бы попонятнее с редиректами объяснить человеку, который с ними дела не имел? ;)

Значится, пишете в .htaccess

RewriteEngine on

RewriteCond %{THE_REQUEST} ^GET\ /index\.php\?.+

RewriteRule . / [R=301,L,QSA]

И у вас со всех URL-ов, в которых присутствует "index.php?что-то" редиректит на аналогичные, но без "index.php".

Это например :)

[umka] добавил 01.08.2011 в 22:32

А вообще, сейчас уже для разных движков есть всяческие модули для борьбы с дублями (особенно про джумлу тут часто тема всплывает)

Ervin
На сайте с 15.08.2008
Offline
112
#4

Как вариант,

RewriteEngine  on
RewriteBase /
RewriteRule ^(.*)index\.php$ $1 [R=301,L]

UPD: [umka], опередили :)

Credendo vidas!
gormarket
На сайте с 29.12.2010
Offline
47
#5

Попробуйте добавить в файл .htaccess в корне сайта


RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php http://%{HTTP_HOST}/ [R=301,L]

Может добавить еще одно условие, проверяющее строку запроса (все то, что после ?)

чтобы начиналась с "mod="


RewriteCond %{QUERY_STRING} ^mod=
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php http://%{HTTP_HOST}/ [R=301,L]

В любом случае модуль mod_rewrite должен быть включен, т.е. выше добавляемых строк должна присутствовать строка:


RewriteEngine on
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
siv1987
На сайте с 02.04.2009
Offline
427
#6

Как вариант номер адин

Disallow: /?mod=

Вариант номер два с редиректом

RewriteCond %{QUERY_STRING} mod=

RewriteRule ^$ /index.php [R=301,L]

тоже самое что написал [umka], только наоборот

Brand from Amber
На сайте с 18.08.2007
Offline
293
#7
zZmeIOka:
Есть несколько коряво сделанный пациент, на котором страницы вида http://www.site.ru/index.php?mod=catalog и http://www.site.ru/?mod=catalog отдают разный контент

А чего ненормального в том, что 2-е страницы с разными URL отдают разный контент?

Если Вам ненужны какие-то из этих страниц в индексе, то тут может помочь роботс.тхт с его директивой Disallow.

User-agent: Yandex
Disallow: /?index.php
zZmeIOka:
С меня - жЫрная простава!

Не дорос ты пока ещё до "жЫрной проставы" 😂

Лучший способ понять что-то самому - объяснить это другому.

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