Здравствуйте,
У нас есть сайт 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]
Какие варианты реализации существуют без дублирования?