Как убрать параметры из адресной строки?

Haker24
На сайте с 29.01.2015
Offline
54
1030

Не получается в htaccess настроить редирект со страницы с параметрами вида site.com/article.html?sa=X&ved=0ahUKEwi50Q9QEIDjAA

на страницы без параметров вида

site.com/article.html

Добавил вот такой код, но он почему-то не срабатывает:

RewriteCond %{QUERY_STRING} ^sa= [NC]

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

Естественно, это нужно, чтобы не плодились дубли страниц.

Шарпей ( https://sharpei-vip.ru ) | Чихуа ( https://pearldream.ru )
maxvel0007
На сайте с 26.10.2014
Offline
67
#1
Жизнь как игра, графика хорошая, а сюжет не очень.
Haker24
На сайте с 29.01.2015
Offline
54
#2

mod_rewrite как раз и нужен :) он включён, но код приведенный почему-то все равно не работает.

на хабре не нашел инфо

вот такой код заработал:

RewriteCond %{QUERY_STRING} ^sa=

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

Но проблема в том, что перебрасывает на http, а сайт на https

dma84
На сайте с 21.04.2009
Offline
168
#3
Haker24:
Но проблема в том, что перебрасывает на http, а сайт на https

Как же это бесит)

Я делаю так


RewriteRule ^ - [E=SITE:https://www.site.ru]
...
RewriteRule ^(.*)$ %{ENV:SITE}/$1 [R=301,L]

А можно и полный УРЛ писать, без разницы


RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]
Haker24
На сайте с 29.01.2015
Offline
54
#4

Спасибо, но ни один из вариантов не работает. Буду дербанить хостера.

Samail
На сайте с 10.05.2007
Offline
369
#5
Haker24:
Спасибо, но ни один из вариантов не работает.

И второй вариант на http отправляет? Тогда скорее всего браузер закешировал редирект, в режиме инкогнито проверьте или другим браузером.

Haker24
На сайте с 29.01.2015
Offline
54
#6

Помог вот такой код в начале файла .htaccess

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

А вот эти строки убирают хвост из адреса страницы:

RewriteCond %{QUERY_STRING} ^sa= [NC]
RewriteRule (.*) $1? [R=301,L,QSD]

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