Дубли страниц с / и без /

12
P
На сайте с 10.05.2011
Offline
66
1129

Возникла проблема :confused:, появились дубли страниц, вида:

1. сайт.ру/страница

2. сайт.ру/страница/

откуда ноги растут? :) ничего не понял. Вопрос в том как убрать из индекса все страницы без "/" ? :)

---------- Добавлено 01.12.2013 в 12:47 ----------

Забыл совсем добавить, вот в файле .htaccess:

# Необходимо для ЧПУ.

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Возможно тут что то не то :) ?

купить Белорусскую косметику (http://www.cosmetic59.ru) в Перми
siv1987
На сайте с 02.04.2009
Offline
427
#1

Дубли появляются не в htaccess а в вашей кмс

Как вариант поставить 301 редирект. Примеры такого редиректа тут куча

P
На сайте с 10.05.2011
Offline
66
#2
siv1987:
Дубли появляются не в htaccess а в вашей кмс

Ясено дело :)

КМС opencart :)

TitanIKS
На сайте с 25.01.2013
Offline
46
#3

#Перманентное обрезание trailing slash

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

P
На сайте с 10.05.2011
Offline
66
#4
TitanIKS:
#Перманентное обрезание trailing slash
RewriteRule ^(.*)/$ $1 [R=301,L]

Эээ не надо обрезать его :)

т.е. вид сейчас:

сайт.ру/категория - убрать

сайт.ру/категория/ - оставить

сайт.ру/категория/товар.пшп - оставить

:)

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

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

P
На сайте с 10.05.2011
Offline
66
#6
siv1987:
RewriteRule ^([^.]*[^/])$ /$1/ [L,R=301]

Я верно понял что оно в общем виде должно выглядеть вот так:

# Необходимо для ЧПУ.

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

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

? :)

---------- Добавлено 01.12.2013 в 13:19 ----------

siv1987:
RewriteRule ^([^.]*[^/])$ /$1/ [L,R=301]

Не помогло :)

J
На сайте с 14.10.2013
Offline
2
#7

делюсь своим опытом: мне надо чтобы обращение к сайт.ру/папка переадресовывало на сайт.ру/папка/

Для такой задачи у меня 5 лет работает это правило:

RewriteCond %{REQUEST_FILENAME} -d

RewriteCond %{REQUEST_URI} !^/ПАПКАГДЕСАЙТ$

RewriteRule ^(.+[^/])$ http://%{HTTP_HOST}/$1/ [R=301]

RewriteBase /путьоткорняwww/ПАПКАГДЕСАЙТ/

Единственное уточнение, что это алиас (работающий в подпапке) к основному домену.

P
На сайте с 10.05.2011
Offline
66
#8
jumanoid:
делюсь своим опытом: мне надо чтобы обращение к сайт.ру/папка переадресовывало на сайт.ру/папка/

Для такой задачи у меня 5 лет работает это правило:
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !^/ПАПКАГДЕСАЙТ$
RewriteRule ^(.+[^/])$ http://%{HTTP_HOST}/$1/ [R=301]
RewriteBase /путьоткорняwww/ПАПКАГДЕСАЙТ/

Единственное уточнение, что это алиас (работающий в подпапке) к основному домену.

Ну я думаю это не совсем то :) у меня сайт в корне домена, мне нужно убрать в конце слеш у категорий и под категорий :)

siv1987
На сайте с 02.04.2009
Offline
427
#9
Poetiq:
Не помогло

Добавлять надо перед реврайтами, то есть сразу после rewriteengine (в вашем случае rewritebase) а не в конце, тогда поможет. А так конечно не будет работать, если там уже преобразрванный чпу

P
На сайте с 10.05.2011
Offline
66
#10
siv1987:
Добавлять надо перед реврайтами, то есть сразу после rewriteengine (в вашем случае rewritebase) а не в конце, тогда поможет. А так конечно не будет работать, если там уже преобразрванный чпу

Да, действительно, помагло, но только для первого уровня, т.е.

работает только на:

сайт.ру/первая категория/

а на ссылке вида:

сайт.ру/перваякатегория/втораякатегория - выдает ошибку: Неверное перенаправление на странице

12

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