Как бороться с дублями?

S
На сайте с 19.01.2013
Offline
0
311

Здравствуйте.

Подскажите, пожалуйста, решение как выйти из следующих ситуаций.

1) Если есть две страницы:

Site.ru/ contacts

Site.ru/ conTacts

Вторая по идее не должна быть доступна, т.е. выдавать 404 Not Found, а не 200 ОК. Подскажите, пожалуйста, как это можно сделать?

2) Если запросить заведомо некорректный URL вида:

http://site.ru/?N, где N – любой численный или строковый параметр, например:

http://site.ru/?qwerty, сервер отдаёт 200 ОК. Хотя, по идее, правильно было бы 404 Not Found или 301 Moved Permanently. Что вроде как реализовывается при помощи модуля Mod_rewrite. Прав ли я? И если да, то, как можно исправить ситуацию?

Спасибо.

[Удален]
#1
Slay:
Что вроде как реализовывается при помощи модуля Mod_rewrite. Прав ли я?

прав)

через регулярку можете пропускать только буквы с нижним регистром

RewriteRule /([a-z]+)$ тут пропишете страницу для которой надо правило

S
На сайте с 19.01.2013
Offline
0
#2
atmcom_ru:
прав)
через регулярку можете пропускать только буквы с нижним регистром
RewriteRule /([a-z]+)$ тут пропишете страницу для которой надо правило

А можно поподробнее. И вооще по идее нужно прописать это правило для всех страниц сайта, а не для некоторых.

А что касается второго вопроса, нашёл некоторую информацию по нём. Чтобы страницы вида http://site.ru/?qwerty, не отдавали 200 ок, нужно в .htaccess прописать правило

RewriteEngine on

RewriteCond %{QUERY_STRING} ^.+$

RewriteRule ^[^/.]*$ http://site.ru/? [R=301,L]

Может кто-то прокомментирует всё ли правильно, а то с этим .htaccess я не особо силён.

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