我有一个域,让我们说mydomain.com 。 我想将www.mydomain.comredirect到裸域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.comredirect到mydomain.com ? 谢谢你的帮助。
Apache本身不会redirect你..你不得不使用类似mod_rewrite来做到这一点
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.mydomain\.com [NC] RewriteRule ^(.*) http://mydomain.com/$1 [L,R=301]
编辑正则expression式的语法。
读了一些虚拟主机 ,发现我可以这样做:
<VirtualHost *:80> ServerAdmin [email protected] ServerName mydomain.com ServerAlias mydomain.com www.mydomain.com
这使它工作。 唯一的问题是www保留在地址栏中,而不是redirect。