VirtualHost/htacess: 하위 도메인이 URL 매개변수를 가리키는 방법은 무엇입니까?

VirtualHost/htacess: 하위 도메인이 URL 매개변수를 가리키는 방법은 무엇입니까?

다국어 웹사이트를 만들어야 해요. 이 목표를 달성하기 위해 언어를 나타내는 하위 도메인이 내 구성에서 도메인의 첫 번째 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

관련 정보