我有一个域名,比如说mydomain.com
。我想重定向www.mydomain.com
到裸域名mydomain.com
。所以我设置了以下 DNS。(IP 仅供展示)
A mydomain.com 192.168.0.1
CNAME www mydomain.com
但实际情况是,Apache 为我的默认网站(空)提供服务,而不是该mydomain
网站。由于我托管多个域名,因此我有:
/etc/apache2/sites-available/default
/etc/apache2/sites-available/mydomain
/etc/apache2/sites-available/myOtherDomain
/etc/apache2/sites-available/yetAnother
开始/etc/apache2/sites-available/mydomain
看起来像这样:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mydomain.com
ServerAlias mydomain.com
这个设置有什么问题,为什么它没有重定向www.mydomain.com
到mydomain.com
?谢谢您的帮助。
答案1
Apache 本身不会为你重定向。你必须使用类似 mod_rewrite 的东西来做到这一点
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com [NC]
RewriteRule ^(.*) http://mydomain.com/$1 [L,R=301]
编辑正则表达式语法。
答案2
读了一些虚拟主机发现我可以这样做:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mydomain.com
ServerAlias mydomain.com www.mydomain.com
这使得它工作正常。唯一的问题是,它www
仍然留在地址栏中,而不是重定向。