iT邦幫忙

0

如何在windows 的 apache2.2 設定兩個網域名稱

  • 分享至 

  • xImage

請教大家:
我要在windows 電腦的 apache2.2 設定兩個 www.xxx.com.tw 的網站, 該如何設定?
我在網路上找了很久, 幾乎都是這麼設:
"<VirtualHost *:80>

This first-listed virtual host is also the default for *:80

ServerName www.example.com
ServerAlias example.com
DocumentRoot /www/domain
</VirtualHost>

<VirtualHost *:80>
ServerName other.example.com
DocumentRoot /www/otherdomain
</VirtualHost>"

我自己實際試過才發現, 上面的設定並不是兩個 www 的domain, 而是只有一個 www.abc.com , 另一個則是 abc.com 的次網域.
若把兩個都設定 www, 則會出現 "overlap" 的問題.

請教大家, 該如何正確設定才能跑兩個 www 的domain?

oct2005 iT邦新手 5 級 ‧ 2013-01-16 08:10:46 檢舉
不好意思, 再請教大家一下,
有無辦法刪除某一則回應, 而保留整個問題?
我在上面的回應中寫了兩個網址(只是為了把我遇到的狀況描述清楚), 我想刪掉那一則回應, 而保留原問題和最佳解答.
基本上此網站的設計是不允許這麼做的
如果妳真的很care的話
就發站內簡訊給ithelp(<-這是帳號)
請管理人員幫個忙
但我不敢保證一定會幫
下次記得不要寫真實資料就好了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
8
wiseguy
iT邦超人 1 級 ‧ 2013-01-15 21:41:57
最佳解答

oct2005提到:
如何設定, 才能在一台電腦, 一個ip的前提下, 讓 http://www.abc.com 對應到 c:/abc, 並讓 http://www.xyz.com 對應到 c:/xyz ?

Apache 的 httpd.conf 只要把下面的設定加到最後面,再重跑就好了:

&lt;pre class="c" name="code">NameVirtualHost *
&lt;VirtualHost *>
	ServerName www.abc.com
	DocumentRoot "c:/abc"
	&lt;Location />
		Order deny,allow
	&lt;/Location>
&lt;/VirtualHost>

&lt;VirtualHost *>
	ServerName www.xyz.com
	DocumentRoot "c:/xyz"
	&lt;Location />
		Order deny,allow
	&lt;/Location>
&lt;/VirtualHost>

然後,不管用 DNS 設定的方式,或者是在 hosts 中添加的方式,把 www.abc.comwww.xyz.com 都指到這一台電腦的 IP 就行了。當然啦~ 添加在 hosts 中的話,只有添加的那台電腦能連得到)。

oct2005 iT邦新手 5 級 ‧ 2013-01-16 06:59:04 檢舉

wise大,
感謝您指導.
我現在就是這樣子設, 但不知怎麼, 設在後面的永遠會去連結和前面同一個資料夾.
http://www.kiyui.com.tw (這個是我所設的第一個VirtualHost.)
http://www.phein.com.tw (這個是第二個VirtualHost. )
phein 永遠會去連到 kiyui 資料夾, 而如果我把順序對調過來, 就會變成打 kiyui 的網址卻去連 phein 的網址.

oct2005 iT邦新手 5 級 ‧ 2013-01-16 07:33:20 檢舉

不好意思, 可以了, 可以了!
感謝wise 大指導, 感謝大家指導.

4
poemnite
iT邦研究生 2 級 ‧ 2013-01-15 17:53:39

您的問題顯示出你對 domain 這個名詞應該有所誤解

以您舉的例子來說,
www.abc.com
abc.com 指的是 domain name
www.abc.com 是算 hostname

apache Virtual Host 的作法是配合 DNS 運作完成的
所以, 根據您的例子,
如果您兩個 VirtualHost 都是同一個 hostname
但 DocumentRoot 卻指向不同的目錄,
對 apache 來說, 並不會依序或隨機丟不同內容出來

基本上這個問題很奇怪
除非您想讓人家每次打 http://www.abc.com 都跑不一樣的東西出來
= =

oct2005 iT邦新手 5 級 ‧ 2013-01-15 18:41:30 檢舉

很感謝您指正. 我的確是個全然門外漢,為了某些原因才不得不來完成這項對我來說非常艱難的任務.

我的問題是:
如何設定, 才能在一台電腦, 一個ip的前提下, 讓 http://www.abc.com 對應到 c:/abc, 並讓 http://www.xyz.com 對應到 c:/xyz ?

期待高手們指點.
謝謝.

4
philiplei
iT邦新手 5 級 ‧ 2013-01-15 19:41:41

個人經驗:
第一步申請兩個DOMAIN 指向你的那台SERVER
第二步找出.htaccess 這個檔,在裡面作出修改(可以上GOOGLE SEARCH)
好多教學

oct2005 iT邦新手 5 級 ‧ 2013-01-15 20:25:39 檢舉

謝謝您的建議.
我會試試看.
(已有兩個 domain 指向那台 server了.)

我要發表回答

立即登入回答