Как запретить индексацию страниц с "/" на конце?

12
vital917
На сайте с 26.03.2010
Offline
108
4350

Яндекс индексирует категории на DLE сайте со слэшем и без него отдельно.Т.е. в индексе Яши получается по две одинаковых страницы с "/" на конце и без.

Вопрос: Как разрешить ПС индексацию страниц только со слэшем на конце,либо наоборот?

D
На сайте с 30.09.2008
Offline
107
#1
Как запретить индексацию страниц с "/" на конце?

Вероятно вот так:

Disallow: */
vital917
На сайте с 26.03.2010
Offline
108
#2
DC***:
Вероятно вот так:

Disallow: */

Вероятно или точно?

Рисковать не хочется просто.

Да и в таком случае ПС не будет индексировать категории выводящиеся тэгом {link-category}?!ведь они идут со слэшем в конце по умолчанию.

D
На сайте с 30.09.2008
Offline
107
#3
vital917:
Вероятно или точно?

Сказал из собственного примера, на моем блоге по такому принципу закрыты все урлы, кончающиеся на /feed.

Disallow: */feed

Все работает как надо, то есть все что до слэша - индексируется, а с /feed - нет.

vital917:
Рисковать не хочется просто.

Не проще тогда сделать редирект с урл со слэшем, на урл без него, ну или наоборот.

K
На сайте с 31.01.2001
Offline
737
#4

Скорее так:

Disallow: /*/

А то запретите индексацию морды тоже (Спецсимвол '*' означает любую (в том числе пустую) последовательность символов.)

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
V2
На сайте с 16.07.2009
Offline
112
#5

может лучше редирект сделать

iren K
На сайте с 28.12.2008
Offline
222
#6
vital917:
Яндекс индексирует категории на DLE сайте со слэшем и без него отдельно.Т.е. в индексе Яши получается по две одинаковых страницы с "/" на конце и без.
Вопрос: Как разрешить ПС индексацию страниц только со слэшем на конце,либо наоборот?

моня для начала убрать (добавить) слеш:

убираем слеш в конце пути

RewriteCond %{REQUEST_URI} ^([^.]+)/$

RewriteRule ^[^.]+/$ /%1 [QSA,L]

добавляем слеш в конце пути:

RewriteRule ^(.+[^/])$ $1/ [QSA]

затем делаем редирект дублей одной и той же страницы на основной ее адрес:

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^site.ru

RewriteRule (.*) http://www.site.ru/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/

RewriteRule ^index\.html$ http://www.site.ru/ [R=301,L]

т.о. мы получим редирект всех страниц-дублей на http://www.site.ru/

зы. тока как вариант ))

зы.зы. видимо лучший вариант:

RewriteRule ^([^/]+).html[/]$ ./index.php?page=$1 [QSA]

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

путь вида http://site.ru/somedir/somedir/file.html, если не найдена ни одна из выше

обрабатываемых директорий(делаем это исключением из пути слешей записью [^/])

..как-то так..

c уважением Iren
vital917
На сайте с 26.03.2010
Offline
108
#7
iren K:
моня для начала убрать (добавить) слеш:

убираем слеш в конце пути

RewriteCond %{REQUEST_URI} ^([^.]+)/$
RewriteRule ^[^.]+/$ /%1 [QSA,L]

добавляем слеш в конце пути:

RewriteRule ^(.+[^/])$ $1/ [QSA]

затем делаем редирект дублей одной и той же страницы на основной ее адрес:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.ru/ [R=301,L]

т.о. мы получим редирект всех страниц-дублей на http://www.site.ru/

зы. тока как вариант ))

зы.зы. видимо лучший вариант:

RewriteRule ^([^/]+).html[/]$ ./index.php?page=$1 [QSA]

- здесь мы исключеам возможное включение слешей в пути к странице - чтобы было невозможно обработать
путь вида http://site.ru/somedir/somedir/file.html, если не найдена ни одна из выше
обрабатываемых директорий(делаем это исключением из пути слешей записью [^/])
..как-то так..

Спасибо.последний вариант больше подходит.попробую.

vital917 добавил 07.10.2010 в 16:01

проделываю выше написанные действия.Появляется бесконечный редирект

A0
На сайте с 29.10.2006
Offline
114
#8

Запрещать не надо, лучше сделать 301 редирект.

Наверное, как то так, чтобы все стали со слешем:

RewriteCond %{REQUEST_URI} !/$

RewriteCond %{REQUEST_URI} !.htm$

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

P
На сайте с 18.07.2010
Offline
8
#9
iren K:
моня для начала убрать (добавить) слеш:

убираем слеш в конце пути

RewriteCond %{REQUEST_URI} ^([^.]+)/$
RewriteRule ^[^.]+/$ /%1 [QSA,L]

добавляем слеш в конце пути:

RewriteRule ^(.+[^/])$ $1/ [QSA]

затем делаем редирект дублей одной и той же страницы на основной ее адрес:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.ru/ [R=301,L]

т.о. мы получим редирект всех страниц-дублей на http://www.site.ru/

зы. тока как вариант ))

зы.зы. видимо лучший вариант:

RewriteRule ^([^/]+).html[/]$ ./index.php?page=$1 [QSA]

- здесь мы исключеам возможное включение слешей в пути к странице - чтобы было невозможно обработать
путь вида http://site.ru/somedir/somedir/file.html, если не найдена ни одна из выше
обрабатываемых директорий(делаем это исключением из пути слешей записью [^/])
..как-то так..

Где это прописывается, в каком файле?

Учиться никогда не поздно
B
На сайте с 28.05.2009
Offline
70
#10
premium.:
Где это прописывается, в каком файле?

тот который хтассес

12

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