首先,我已经完成了搜索并找到了答案,但我仍然不理解以下内容。
我有两个.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条目,不同的配置等?
此致
答案 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。