Apache2站点 - 可用配置

时间:2013-03-23 12:57:49

标签: linux apache debian

首先,我已经完成了搜索并找到了答案,但我仍然不理解以下内容。

我有两个.co.uk域名,在我的Debian框中设置了两个目录/ home / site1 / public_html /& / home / site2 / public_html / - (示例,用户已设置等)。

所以我将域名指向我的盒子IP地址,有两个DNS条目(两者都相同):

DNS Entry      Type      IP Address
@              A         myip
www            A         myip

现在,对于sites-available配置,我创建了两个新的“文件”,两者的设置相同,但各个域的路径和信息都有所改变:

<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条目,不同的配置等?

此致

1 个答案:

答案 0 :(得分: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 - Canonical Hostnames。