.htaccess редирект site.ru/ на site.ru/ru/ (сохраняя site.ru/en/)

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2015

Есть сайт на MODx, сейчас он переведён и имеет английские site.ru/en/ и русские site.ru/ru/ страницы. До перевода в поисковые системы попали старые страницы вида site.ru/catalog/, и сейчас они выдают 404 ошибку.

Возможно настроить редирект со старых страниц на новые с /ru/, и чтобы при этом сохранилась возможность переходить на английские страницы /en/? Подскажите, пожалуйста, как будет выглядеть такой редирект.

Ответы

▲ 1Принят

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

RewriteCond %{REQUEST_FILENAME} !-f    # исключаем файлы
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]   # отсюда подставим доменное имя (%1)
RewriteCond %{REQUEST_URI} !^/(en|ru)/ # адреса с /ru/ и /en/ оставляем как есть
RewriteRule ^(.*)$ http://%1/ru/$1 [R=301,L]