我是程式人員,網站主機的範疇只略知一二,
今遇到一個難題想請問版上大大:
我們有一個網站,分成繁中與日文兩個語系,網址例如是 http://www.twn.com/
原本是以 GET 參數去切換語系,
如 http://www.twn.com/?lang=tw 或 http://www.twn.com/?lang=jp
最近公司多申請一個網址 http://www.jpn.com/
希望這兩個網址各指向同一個網站的 台灣語系 與 日文語系,
也就是說 http://www.twn.com/ 是連到這網站的台灣語系
而 http://www.jpn.com/ 是連到這網站的日文語系!~
以上的需求,想詢問大大在 DNS 要如何設定?? APACHE 又要如何設定??
請求指點,感激不盡!!
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.擷取訪客系統語系,再指向訪客語言預設的網頁
......
假如樓主想要維持原來的程式不變,以 GET 參數去切換語系,如你所說的 http://www.twn.com/?lang=tw 或 http://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 了。
其實蠻簡單的
你原先兩個get辨識網站不動 點到日文時仍到?lang=jp去 但用轉換網頁方式1~2秒轉到www.jpn.com即可 中文亦同