【问题标题】:Apache2 sites-available configApache2 站点可用配置
【发布时间】:2013-03-23 12:57:48
【问题描述】:

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

我有两个 .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 条目、不同的配置等?

问候,

【问题讨论】:

  • ping site2.co.ukping www.site2.co.uk 的IP 地址相同?
  • 没有“www”就找不到主机。很奇怪,它适用于一个站点,但不适用于另一个站点:s
  • 检查DNS,域记录不存在。

标签: linux apache debian


【解决方案1】:

根据我的经验,您需要将 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 - 规范主机名。

【讨论】:

  • 使用 mod_rewrite 必须是对服务器的请求,在这种情况下域与 IP 地址不匹配。
猜你喜欢
  • 2014-04-30
  • 2020-07-06
  • 2010-12-28
  • 1970-01-01
  • 2012-10-15
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多