pink2floyd
@pink2floyd

Как исправить проблему с неправильным .htaccess настройкой плагина babel в modx?

Здравствуйте. Проблема заключается в том что modx открывает русскую версию и все ее статьи, а вот на английской он открывает только главную
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
DarkRaven
@DarkRaven
разработка программного обеспечения
Какая ошибка выходит, если открыть версию статьи на английском?
ЧПУ включен или нет?
Плагин поставили на OnHandleRequest?

Плагин должен быть примерно таким:
<?php
if($modx->context->get('key') != "mgr")
{
    /* grab the current langauge from the cultureKey request var */
    $currCultureFromRequest = isset($_REQUEST['cultureKey']) ? $_REQUEST['cultureKey'] : NULL;
    $modx->log(modX::LOG_LEVEL_DEBUG, 'pageRouting: Income context key ' . $currCultureFromRequest);
    switch ($currCultureFromRequest) 
    {
        case 'ru':
        case 'en':
            /* switch the context */
            $modx->switchContext($currCultureFromRequest);
            $modx->log(modX::LOG_LEVEL_DEBUG, 'pageRouting: Context switched to ' . $currCultureFromRequest);
            break;
        default:
            /* Set the default context here */
            $modx->switchContext('web');
            $modx->log(modX::LOG_LEVEL_DEBUG, 'pageRouting: Context switched to web');
            break;
    }
    unset($_REQUEST['cultureKey']);        
}


.htaccess для него вот такой (с оговорками, пути от вас зависят):
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(web|en|ru)/assets(.*)$ assets$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(web|en|ru)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
# остальные Ваши настройки/директивы для apache/php


Опять же, должны быть установлены контексты, настройки и т.п.

Официальная ссылка, где все это описано - www.multilingual-modx.com/blog/2011/seo-friendly-m...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы