域名不支持带 www

域名不支持带 www

在我的计算机上,我使用带虚拟主机的 WAMP。我所做的就是将 127.0.0.1 my-project.loc 行添加到 system32\drivers\etc\host 文件中,并将以下代码添加到 Apache2.2.11\conf\extra 文件夹中的 httpd-vhost.conf 中。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "c:/wamp/www/my-project.loc"
    ServerName my-project.loc
    ErrorLog "logs/my-project.loc-error.log"
    CustomLog "logs/my-project.loc.log" common
</VirtualHost>

我的问题是如何让 www.my-project.loc 也能正常工作。您能给我一个聪明的解决方案吗?因为我认为编写相同的代码但这次使用 ServerName www.my-project.loc 不是一个好主意。

答案1

在 ServerName 指令下添加以下行:ServerAlias www.my-project.loc

答案2

您需要第二个<VirtualHost>ServerName www.my-project.loc和相同的 DocumentRoot

理想情况下,第二个块将用于mod_rewrite将所有请求重定向 (301) 到一个“规范”主机名,而不是拥有两个相同的网站副本。示例:

RewriteEngine On
RedirectMatch 301 /(.*) http://my-project.loc/$1

答案3

在 hosts 文件中添加另一行

127.0.0.1 www.my-project.loc

然后在虚拟主机配置中的 ServerName 指令后添加此行:

ServerAlias www.my-project.loc

相关内容