2013-03-14 2 views
0

경로의 시작 부분에 언어 코드를 추가하여 모든 것을 다시 쓰려고합니다. 내가 이것을 사용할 때 : RewriteRule ^(.*)3$ es/$1

브라우징 mysite.com/admin3mysite.com/es/admin을로드한다.


는하지만 난 이유를 모르겠어,하지만이 사용할 때 : RewriteRule ^(.*)$ es/$1

검색을 mysite.com/admin 부하 mysite.com/es/admin 않지만 너무 느린로드하고 일반 HTML (CSS 없음, 아니 이미지 등)이다.이상한 재기록 어려움 - 내가 뭘 잘못하고 있니?

누군가 내가 뭘 잘못하고 있다고 지적 할 수 있습니까? 그것은 나를 미치게합니다 - 나는 정규 표현식의 놈입니다.

감사합니다.


업데이트 : 이미 다국어 사이트를 운영하고 있습니다. 그러나 우리는 로컬 도메인을 통해 다른 언어에 대한 대체 액세스를 제공하려고했습니다. 그래서 우리는 mysite.com/es을 가지고 있고 동시에 newdomain.es을 가지고 싶었습니다. 이것은 Drupal의 "도메인 이름"언어 협상을 통해 가능하지 않습니다.

이제는 이미 newdomain.es/es을 설정했지만 사용자가 검색 주소창에 newdomain.es 만 표시되도록하고 싶습니다.

+0

drupal을 사용하고 있으므로 국제화 (http://drupal.org/project/i18n)를 사용하지 않으시겠습니까? 지금까지 제가 아는 한 정확히 당신이 원하는 것을하는 모듈이 있습니다 ... – Neograph734

+0

나는 그것을 사용하고 잘 작동합니다. 그러나 우리는 로컬 도메인을 통해 언어를 분리하려고했습니다. mysite.com/es는'newsite.es'가 될 것입니다. 실제로 newsite.es/es를 검색 할 때'newsite.es'를 보길 원합니다. – Bibokid

답변

0

내가 겪고있는 문제는 파일도 전달되기 때문입니다 (예 : CSS, 자바 스크립트, 이미지 등). 이것이 내가 어떻게 해결 했는가입니다 :

RewriteCond %{HTTP_HOST} ^mysite.es$ [NC] 
# optional: add other language exceptions so they still work 
# RewriteCond %{REQUEST_URI} !^/fr/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ es/$1 [NC,QSA] 

# for homepage 
RewriteCond %{HTTP_HOST} ^mysite.es$ [NC] 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule ^(.*)$ es 
0

나는 방금 /admin/config/regional/language/configure 아래에서 Drupal internationalationisation의 하위 도메인 옵션을 사용할 수 있다는 것을 알았습니다.

URL 옆에있는 [configure]를 선택하면 es.mysite.com과 같은 도메인 접두사를 사용할 수 있습니다.

그리고 나서 mysite.es의 DNS를 es.mysite.com으로 지정할 수 있습니다. DNS에 mysite.es의 값을 www - CNAME - es.mysite.com (주소에 www - CNAME - es.mysite.com.과 같이 추가 점이 필요할 수 있음)에 추가하면됩니다.

+0

언어 협상은 옵션이 아닙니다. mysite.es에서 다른 언어를 사용할 수 없습니다. 'mysite.es/en'. 하지만 도움에 감사드립니다. 감사! – Bibokid