@gibigate

HTACCESS Rewrite base через условия?

Здравствуйте,

У нас есть сайт domain.com с примерно такими правилами на apache 2.4:
RewriteRule ^terms/$            terms.php [L,QSA]
RewriteRule ^search/([^/]+)/([0-9]+)/$   search.php?q=$1&from=$2 [L,QSA]
RewriteRule ^search/([^/]+)/$            search.php?q=$1 [L,QSA]
RewriteRule ^search/$                    search.php [L,QSA]

и так далее

Мы запускаем новые пути которые начинаются на domain.com/en/, при этом все указанные правила в примере должны работать:
domain.com/terms/ == domain.com/en/terms/
domain.com/search/keyword/ == domain.com/en/search/keyword/

Погуглив попробовал такие варианты:
RewriteEngine on
RewriteBase /
<If "%{REQUEST_URI} =~ /en/#">  
	SetEnv SITE_LANG "en"    // <= устанавливается правильно
	RewriteBase /en/            // <= вызывает ошибку 500 сервера
</If>


Есть конечно тупой вариант копировать все правила и менять условия типа:
RewriteRule ^en/terms/$            terms.php [L,QSA]


Какие варианты реализации существуют без дублирования?
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы