Индексация несуществующих страниц

A
На сайте с 12.05.2004
Offline
176
590

Рамблер индексирует страницы зомби типа www.site.ru/index.php/index.php

То есть index.php, about.php etc. принимает за директории, а не за файлы.

Как-то была подобная ситуация, но там были html страницы. Как сделать, что бы сервер по запросу index.php/blablabla отдавал 404 ошибку или лучше в robots.txt их закрыть? Страницы типа index.php?blablabla должны индексироваться.

ЗЫ: все пути на сайте прописаны не от корня сервера. То есть ссылки со страницы www.site.ru/index.php нормальные, а с www.site.ru/index.php/ (со слешем в конце) ведут не левые страницы.

bonzaza
На сайте с 10.06.2006
Offline
82
#1

можно такой конструкцией воспользоваться :

прописать а .htaccess (если есть возможность в httpd.conf (меньше систему будет грузить :)))

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^.]+)$ /404.php?$1

т.е. в случае, если url не является файлом или директорией, то редирект на файл, который выдает 404 :)

P.S. у меня работает

Если не мы, то кто?
A
На сайте с 12.05.2004
Offline
176
#2
bonzaza:
т.е. в случае, если url не является файлом или директорией, то редирект на файл, который выдает 404 :)
P.S. у меня работает

Не работает. index.php является файлом :)

bonzaza
На сайте с 10.06.2006
Offline
82
#3

обоснуйте пожалуйста

в такой конструкции www.site.ru/index.php/index.php index.php файлом являться не будет.

Насколько я понимаю механизм mod_rewrite - проверка, является ли это файлом, ляжет на плечи веб сервера - который подтвердит, что www.site.ru/index.php/index.php не является файлом и совершит, то что ему сказано - т.е. внутренний проброс на 404.php

проверка же будет осуществляться по конечному запрашиваемому url ;)

или у Вас тогда директория существует с названием index.php/ - что маловероятно

A
На сайте с 12.05.2004
Offline
176
#4
bonzaza:
обоснуйте пожалуйста

в такой конструкции www.site.ru/index.php/index.php index.php файлом являться не будет

С несуществующего файла редирект идет, а с index.php/index.php нет. Видимо первый индекс воспринимается как файл, а второй, как параметр.

bonzaza
На сайте с 10.06.2006
Offline
82
#5

подтверждаю - был неправ вспылил :)

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

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