301 редирект с амперсандом

niko_viktor
На сайте с 11.06.2009
Offline
41
979

Буду благодарен, если подскажите решение такой проблемы:

на сайте были ссылки вида имя_сайта/?p=56&lang=en

так были реализованы версии сайта на различных языках. Вместо en могут быть uk, be, es и т.д.

Но теперь сайт только на русском. Следовательно все ссылки с &lang=id_языка теперь выдают 404 ошибку.

Как сделать, чтобы отбрасывалось все что начинается на амперсанд и перенаправлялось 301 редиректом на адрес до амперсанда?

Пример:

запрашиваем:

имя_сайта/?p=56&lang=uk

происходит перенаправление на:

имя_сайта/?p=56

KNEP.ru (https://knep.ru/) - мой блог Кнеп.ру
K
На сайте с 16.12.2009
Offline
185
#1

Попробуйте прописать в .htaccess что-то вроде

RewriteEngine On

RewriteRule ^([^\&]+)\&.*$ /$1 [R=301]

Главное чтобы URLы не имели вид:

имя_сайта/?lang=en&p=56

freebitco.in - раздача BitCoin'ов + депозит в BTC под 4,08% (https://goo.gl/M1WZoZ)
Alipapa
На сайте с 01.02.2008
Offline
194
#2

Если цель - избежать санкций пс за дубли, то можно не делать редиректа, а просто указать пс параметр lang как игнорируемый. Для яндекса это делается в robots.txt с помощью Clean-param, для гугла - в вебмастерсе есть пункт для управления параметрами.

Биржа фриланса - простая и удобная (http://kwork.ru/ref/2541)
K
На сайте с 16.12.2009
Offline
185
#3

Не гуглом и яндексом едиными...

А редирект схавают все боты.

niko_viktor
На сайте с 11.06.2009
Offline
41
#4

Моя цель - избежать санкций от Гугла.

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

K
На сайте с 16.12.2009
Offline
185
#5

Мне кажется, что все-таки лучше поставить 301-редирект. Если где-то были прямые ссылки на языковые страницы, это позволит передать вес на новые адреса.

siv1987
На сайте с 02.04.2009
Offline
427
#6

добавить после RwriteEngine On (если нету - вписать)

RewriteCond %{QUERY_STRING} ^(.+)&lang=

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

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