htaccess, QUERY_STRING и regexp для отброса параметра на статичных страницах

ParserOff
На сайте с 02.03.2008
Offline
134
1780

Есть проблема с запросами-параметрами в URL (один известный сервис проставляет ссылки на статичные html-страницы с параметром, соответственно, плодятся дубли страниц). Получили кучу ссылок такого вида:

http://www.domen.ru/?parametr=1

http://www.domen.ru/index.html?parametr=1

http://www.domen.ru/page.html?parametr=1

http://www.domen.ru/foldername/?parametr=1

http://www.domen.ru/foldername/index.html?parametr=1

http://www.domen.ru/foldername/pagename.html?parametr=1

Провайдер решил проблему с помощью htaccess таким образом

RewriteCond %{QUERY_STRING} .*=.*

RewriteCond %{REQUEST_FILENAME} !\.cgi

RewriteCond %{REQUEST_FILENAME} !\.pl

RewriteCond %{REQUEST_FILENAME} !\.php

RewriteRule .* - [R=404,L]

Что несколько не устраивает. Хотелось бы 301 редиректом вернуть на адрес до параметра, т.е., скажем, с http://www.domen.ru/index.html?parametr=1 на http://www.domen.ru/index.html. И да, конечно, php, cgi, pl не трогаем.

Какие же волшебные строчки нужно прописать в htaccess, чтобы все работало как надо?

Волшебника отблагодарю обязательно =)

Не кидайтесь сильно тапками, пожалуйста, если ответ лежит на поверхности. Не специалист.

ZT
На сайте с 24.07.2012
Offline
39
#1

Через каноникал проблему решить не выйдет? Указывать страницу без параметров.

J
На сайте с 20.02.2014
Offline
120
jkm
#2
Хотелось бы 301 редиректом вернуть на адрес до параметра, т.е., скажем, с http://www.domen.ru/index.html?parametr=1 на http://www.domen.ru/index.html. И да, конечно, php, cgi, pl не трогаем.

RewriteCond %{THE_REQUEST}   " (/[^?]*)\?"

RewriteRule !\.(php|pl|cgi)$ %1? [R=301,L]
ParserOff
На сайте с 02.03.2008
Offline
134
#3

jkm, спасибо огромное, кудесник regexp'a! Все работает и счастию моему нет границ.

Куда слать благодарности - можете в личку написать?

Zloy_Tip, а прописано, но дубли с завидной регулярностью Я.Вебмастером читаются, влетают и вылетают из индекса.

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