다국어 웹사이트를 만들어야 해요. 이 목표를 달성하기 위해 언어를 나타내는 하위 도메인이 내 구성에서 도메인의 첫 번째 URL 매개변수(GET 변수)를 가리키도록 하고 virtualhost
싶습니다 htaccess
.
계획은 다음과 같습니다 :
example.com => /
([a-z-]+).example.com => /?lang=$1
([a-z-]+).example.com/directory1/ => /directory1/?lang=$1
([a-z-]+).example.com/directory1/page.html => /directory1/page.html?lang=$1
등등... 디렉토리와 페이지의 수에 관계없이.
따라서 이 계획에 따르면:
en-en.example.com matches /?lang=en-en
en-en.example.com/directory1/ matches /directory1/?lang=en-en
en-en.example.com/directory1/page.html matches /directory1/page.html?lang=en-en
등등... 디렉토리와 페이지의 수에 관계없이.
그렇다면 Apache 구성에서 어떻게 이를 수행할 수 있습니까?
답변1
나는 .htaccess 또는 가상 호스트 구성 파일에서 이와 같은 것이 트릭을 수행할 것이라고 생각합니다. 이는 두 글자로 된 하위 도메인 이름과만 일치합니다. 그에 따라 첫 번째 정규식을 조정하세요... 예: ([az-]+)
RewriteEngine On
RewriteCond %{HTTP_HOST} "^([a-z]{2})\.example\.com$"
RewriteRule "^(.*)$" http://example.com$1?lang=%1