Редирект 301 убрать язык, после названия сайта

12
E1
На сайте с 07.05.2009
Offline
66
1229

Имеется сайт ***.com Сменили движок. В новом движке мультиязычность делается скриптами.

Теперь появилась проблема. Раньше ссылки имели вид

***.com/ru/каталог1/товар1

***.com/ru/каталог2/товар1

***.com/ru/Галерея/фото1

***.com/ru/блоги/блог1

Сейчас вид такой

***.com/каталог1/товар1

***.com/каталог2/товар1

***.com/Галерея/фото1

***.com/блоги/блог1

Старые страницы котрые в индексе и имеют входящие хотелось бы перенаправить на новые. Там около 30 страниц. При этом 20 страниц это блоги которым можно задать нужный ЧПУ. Но проблема в том, что ЧПУ будет без ru/ перед рубрикой блоги, так как могу задавать ЧПУ самих блоков.

Как можно убрать ru/ после названия сайта?

Тоесть всё что было с ru/ перенаправить на такие же страницы без него.

Пробовал

RedirectPermanent /ru http:/***.com
не работает.
Куплю ссылки, либо статьи с женских сайтов в Казахстане, Беларуссии.
Max_1
На сайте с 02.08.2012
Offline
45
#1

RewriteEngine On

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

Наполнение сайта (http://tino.ru/itm/1389070) / Управление ключевыми словами (http://tino.ru/itm/1733431) / Биржа труда (http://kwork.ru/?ref=9975)
E1
На сайте с 07.05.2009
Offline
66
#2

Не работает.

Простой редирект с страницы на страницу Redirect 301 /katalog.html http://***.com/katalog/ работает, С www на без него

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]

RewriteRule ^(.*)$ http://%1/$1 [R=301,L] тоже а там где динамические адреса и этот не хочет.

Maxrom
На сайте с 15.03.2014
Offline
28
#3

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

Max_1
На сайте с 02.08.2012
Offline
45
#4

Попробуйте включить рекомендованные правила сразу после RewriteEngine On. Плюс почистите кеш браузера.

E1
На сайте с 07.05.2009
Offline
66
#5

Установка сразу после RewriteEngine On помогла.

Но урл получается ***.com//блоги/блог1

Добавляет лишний слеш.

В обоих вариантах.

---------- Добавлено 20.02.2016 в 17:54 ----------

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$

RewriteRule . %1/%2 [R=301,L]

А это слеш не убирает. Он все равно есть.

Хотя по идее его не должно было быть.

Max_1
На сайте с 02.08.2012
Offline
45
#6

Попробуйте так:

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

E1
На сайте с 07.05.2009
Offline
66
#7

Заработало.

Если можно то задам еще вопросик

Этот редирект

Redirect 301 /staty/9-2012-06-25-19-38-23.html http://***.com/staty/80-2012-06-25-19-38-23.html

Дает на выходе следующую ссылку

http:/***.com/staty/80-2012-06-25-19-38-23.html?_route_=staty/9-2012-06-25-19-38-23.html

Такой код не работает

RewriteCond %{QUERY_STRING} ^_route_=ru/staty/9-2012-06-25-19-38-23.html$

RewriteRule ^(.*)$ http://***....5-19-38-23.html [R=301,L]

Max_1
На сайте с 02.08.2012
Offline
45
#8

Попробуйте так.

RewriteCond %{QUERY_STRING} ^_route_=

RewriteRule ^staty/9-2012-06-25-19-38-23.html staty/80-2012-06-25-19-38-23.html? [R=301,L]

Лучше конечно разобраться как появляется эта часть: _route_=

E1
На сайте с 07.05.2009
Offline
66
#9
Max_1:
Попробуйте так.
RewriteCond %{QUERY_STRING} ^_route_=
RewriteRule ^staty/9-2012-06-25-19-38-23.html staty/80-2012-06-25-19-38-23.html? [R=301,L]

Лучше конечно разобраться как появляется эта часть: _route_=

Я так понял, что она вылазит из самого движка, При чём она есть при всех редиректах Типа Redirect 301 /старый урл ***.com/новый урл

Еще вопросик перенаправление с ***/katalog/?func=viewcategory&catid=3 на /katalog/новый урл.

RewriteCond %{QUERY_STRING} ^func=viewcategory&catid=3$

RewriteRule ^index\.php /katalog/новый урл? [L,R=301]

тоже не работает. Я так понимаю проблема в том, что нет самого index\.php поэтому условие не работает.

Max_1
На сайте с 02.08.2012
Offline
45
#10

Как-то так.

RewriteCond %{QUERY_STRING} ^func=viewcategory&catid=3$

RewriteRule ^katalog/ katalog/новый урл? [L,R=301]

12

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