2013-03-23 102 views
0

首先,我已經完成搜索並找到答案,但我仍然不明白以下內容。Apache2網站 - 可用配置

我有兩個.co.uk域,在我的Debian框中的/ home/site1/public_html/&/home/site2/public_html/- (例如,用戶已設置等)上設置了兩個目錄。

所以我點了我的領域我的箱子IP地址,有兩個DNS條目(兩者相同):

DNS Entry  Type  IP Address 
@    A   myip 
www   A   myip 

現在的網站可用的配置我創建兩個新的「文件」,都是建立相同,但在路徑和信息被改變爲相應的結構域:

<VirtualHost *:80> 
    ServerAdmin my-email-address 
    ServerName www.site1.co.uk 
    ServerAlias site1.co.uk 
    DocumentRoot /home/site1/public_html/ 
</VirtualHost> 

&

<VirtualHost *:80> 
    ServerAdmin my-email-address 
    ServerName www.site2.co.uk 
    ServerAlias site2.co.uk 
    DocumentRoot /home/site2/public_html/ 
</VirtualHost> 

我a2ensite,重新加載apache。

現在,如果我去www.site1.co.uk或site1.co.uk它工作正常。 如果我到www.site2.co.uk它可以工作,但site2.co.uk不起作用(頁面未找到),而且我幾乎不知道爲什麼。

有人可以向我解釋這個嗎?是否應該添加其他DNS條目,不同的配置等?

問候,

+0

'ping site2.co.uk'與'ping www.site2.co.uk'具有相同的IP地址? – mkjasinski 2013-03-23 13:05:46

+0

未找到沒有「www。」的主機這很奇怪,它適用於一個站點,但不適用於其他站點:s – Alias 2013-03-23 13:10:01

+0

檢查DNS,該域的記錄不存在。 – mkjasinski 2013-03-23 13:13:03

回答

0

按我的經驗,你需要重定向到site2.co.uk www.site2.co.uk。

這裏是你如何在Apache2的

RewriteCond %{HTTP_HOST} !^www\.site2\.co.uk [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule ^/?(.*)   http://www.site2.co.uk/$1 [L,R,NE] 

做的更多信息請參見https://httpd.apache.org/docs/2.4/rewrite/remapping.html - 正規主機名。

+0

使用mod_rewrite必須是對服務器的請求,在這種情況下域不匹配IP地址。 – mkjasinski 2013-03-23 13:19:30