2013-12-17 4 views
1

미리 정의 된 언어로 시작하는 모든 URL을 다시 작성하고 해당 언어를 param으로 옮기고 싶습니다.URL 시작을위한 다시 쓰기 규칙

example.com/de/home example.com/home?lang하는

example.com/en/home example.com/home?lang=de을 위해 예를 들어

=

도중에 나는

RewriteRule  ^/?(en|de)/(.*)$  $2?lang=$1&%{QUERY_STRING} [L,QSA] 

문제는이 멀티 포트 발사되어 내 아파치 설정 파일에이 규칙을 가지고 이플 시간 :

example.com/en/en/home는 example.com에

example.com/en/de/en/de/home을 example.com/home?lang=en하기/home? lang = en

어떻게 한 번만 규칙을 적용 할 수 있습니까?

감사합니다.

답변

0

구문이 문제입니다. The ?() :

?(en|de) 

은 비 캡처 그룹입니다.

(en|de) 

참조

: 캡처까지, ?을 제거