mod_rewrite - все с /en/ обработать как /

I7
На сайте с 27.03.2011
Offline
48
462

Перевожу сайт на английский

русская версия будет на site.ru/....

english at site.ru/en/...

Как написать директиву mod_rewrite так, что бы

1) все /en/ обработать как / - при этом, потом должны подцепиться другие директивы mod_rewrite

2) добавлялся параметр lang=eng

?

ISTJ - Максим (mydual.ru/types.ihtml?type=ISTJ) Одиноки в толпе друзей? Найдите своего дуала (mydual.ru/from=forums) и откройте мир комфортного общения.
siv1987
На сайте с 02.04.2009
Offline
427
#1

RewriteRule ^eng/(.*)$ index.php?lang=eng [L,QSA]

I7
На сайте с 27.03.2011
Offline
48
#2
siv1987:
RewriteRule ^eng/(.*)$ index.php?lang=eng [L,QSA]

Как я писал, нужно, что бы после этого подцепились другие директивы. Например, далее у меня стоит

RewriteRule ^product/(([0-9]{0,})/)?$ /product.php?i=$2 [QSA,L]

И она должна работать для всех версий

Вот так сделать?

RewriteRule ^en/(.*)$ $1?lang=eng [QSA]

Но тут не понятно, что будет в том случае, если уже будут параметры в строке, например, если вызвать

en/product/1?a=1

siv1987
На сайте с 02.04.2009
Offline
427
#3
Infinity7:
И она должна работать для всех версий
Вот так сделать?

Попробовать добавить ее в самом конце, если не вызовет зацикливание

или переписать тогда все правила

RewriteRule ^((eng)/)?product/(([0-9]{0,})/)?$ /product.php?i=$4&lang=$2 [QSA,L]

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