Убрать / в конце ссылки на мультиязычном сайте

Мультиязычный сайт, в .htaccess определяю язык браузера и делаю редирект
на site.com/ru/ или на site.com/en/ (то есть пользователь не может попасть на site.com)

в контекстах прописано
base_url --- /ru/
http_host --- site.com/ru/
site_url --- http://site.com/ru/

base_url --- /en/
http_host --- site.com/en/
site_url --- http://site.com/en/

в .htaccess
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP:Accept-Language} (ru|uk|by|kz) [NC]
RewriteRule .* http://site.com/ru [R=302,L]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteRule .* http://site.com/en [R=302,L]

Плагин которым вырезаю слеш в конце
<?php
if ($modx->event->name != 'OnLoadWebDocument') {return;}
$uri = ltrim(urldecode($_SERVER['REQUEST_URI']), '/');
if (strlen($uri)>1) {
  if (rtrim($uri,'/')!=$uri) {
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: http://'.$_SERVER['SERVER_NAME'].str_replace($uri, rtrim($uri,'/'), $_SERVER['REQUEST_URI']));
    exit();    
  }
}

а проблема что в этом варианте на site.com/ru/ или site.com/en/ получается циклическая переадресация
а если убираю в контекстах слеши то дальнейшие ссылки имеют вид site.com/rublog а нужно что бы site.com/ru/blog

помогите плиз, уже пол дня бьюсь над решением
Alex Zhuravlev
11 мая 2015, 21:05
modx.pro
1 205
0

Комментарии: 0

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