2010-04-06 2 views
0

각 언어마다 루트 ('/ en'는 영어, '/ es'는 ​​스페인어)의 하위 디렉토리를 사용하는 다중 언어 웹 사이트가 있습니다. 각 리디렉션은 URL에 get 변수를 추가하고 프록시에 'P'플래그를 사용하여이를 숨 깁니다. 스페인 하위 폴더에 대한 나의 현재 htaccess로 파일은 다음과 같습니다www 리디렉션을 사용하는 두 개의 RewriteRules

Options +FollowSymlinks 
RewriteEngine on 
RewriteOptions MaxRedirects=10 
RewriteBase/
RewriteRule ^(.*)\.html$ $1.php 
RewriteRule ^(.*)$ http://www.domain.com/$1?l=es [P,R=301,L] 

문제는 나는 또한이 중단 된 경우 도메인에 'www'를 추가 할 것입니다. 프록시 리디렉션에 'www.'가 표시되지 않습니다. www를 추가 할 마지막 문장 앞에 재 작성을 넣은 다음 최종본을 여전히 처리 할 수 ​​있습니까?

답변

1

정말 www. 프록시 메소드를 통해 다시 작성해야합니까? www.이없는 경우 일반 301 리디렉션을 권하고 싶습니다. 동일한 앱에 매핑되는 많은 URL이 세션/쿠키를 사용하게됩니다 (no-www).

Options +FollowSymlinks 
RewriteEngine on 
RewriteOptions MaxRedirects=10 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

RewriteBase/
RewriteRule ^(.*)\.html$ $1.php 
RewriteRule ^(.*)$ http://www.domain.com/$1?l=es [P,R=301,L] 
관련 문제