iT邦幫忙

0

兩個網址各指向同一個網站的台灣、日文語系,DNS 與 APACHE 該如何設定???

我是程式人員,網站主機的範疇只略知一二,
今遇到一個難題想請問版上大大:

我們有一個網站,分成繁中與日文兩個語系,網址例如是 http://www.twn.com/
原本是以 GET 參數去切換語系,
http://www.twn.com/?lang=twhttp://www.twn.com/?lang=jp

最近公司多申請一個網址 http://www.jpn.com/
希望這兩個網址各指向同一個網站的 台灣語系 與 日文語系,
也就是說 http://www.twn.com/ 是連到這網站的台灣語系
http://www.jpn.com/ 是連到這網站的日文語系!~

以上的需求,想詢問大大在 DNS 要如何設定?? APACHE 又要如何設定??
請求指點,感激不盡!!
忙

2 個回答

18
wiseguy
iT邦超人 1 級 ‧ 2013-03-26 12:41:42
最佳解答

DNS 就是兩個網址都指到同一個 IP 去即可。
Apache 設定兩個虛擬網站:

<pre class="c" name="code"><VirtualHost *>
   ServerName www.twn.com
   DocumentRoot "中文站的目錄"
   ### 其它設定
</VirtualHost>

<VirtualHost *>
   ServerName www.jpn.com
   DocumentRoot "日文站的目錄"
   ### 其它設定
</VirtualHost>

就這樣。重跑 Apache 即可。

上面提到的是由系統主機端的解決方案

其實修改網站程式的PHP(或是用其他的語言)也是可行方案
例如常見的有
1.自動擷取訪客瀏覽器使用的語系,再導引至適合的語言預設網頁
2.擷取訪客系統語系,再指向訪客語言預設的網頁
......

wiseguy iT邦超人 1 級 ‧ 2013-03-26 14:49:49 檢舉

假如樓主想要維持原來的程式不變,以 GET 參數去切換語系,如你所說的 http://www.twn.com/?lang=twhttp://www.twn.com/?lang=jp,那麼用下面的設定:

<pre class="c" name="code">LoadModule rewrite_module modules/mod_rewrite.so
<VirtualHost *>
        ServerName www.twn.com
        DocumentRoot "中文站的目錄"
        RewriteEngine on
        RewriteCond %{QUERY_STRING}     !lang=
        RewriteRule ^(.*)$              $1?lang=tw [QSA,R]
        ### 其它設定
</VirtualHost>

<VirtualHost *>
        ServerName www.jpn.com
        RedirectMatch ^/.*$ http://www.twn.com/?lang=jp
</VirtualHost>

就會把 www.twn.com 導向 http://www.twn.com/?lang=tw,把 www.jpn.com 導向 http://www.twn.com/?lang=jp 了。

2
kiwiaa
iT邦研究生 3 級 ‧ 2013-03-26 22:22:56

其實蠻簡單的
你原先兩個get辨識網站不動 點到日文時仍到?lang=jp去 但用轉換網頁方式1~2秒轉到www.jpn.com即可 中文亦同

我要發表回答

立即登入回答