VirtualHost/htacess :如何將子域指向 url 參數?

VirtualHost/htacess :如何將子域指向 url 參數?

我必須創建一個多語言網站。為了實現這個目標,我想將代表一種語言的子網域指向我的virtualhosthtaccess配置中域的第一個 URL 參數(GET 變數)。

方案如下:

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

相關內容