我有一个网站的两个域名(我们使用 Apache)example.com
和example.org
。该网站对这两个域名都响应通配符子域名。但是,我希望将 .com 作为规范域名。我的意思是,我希望将所有内容重定向 (301) 到 .com,但保留子域名。例如。
example.org => example.com
sub.example.org => sub.example.com
我对正则表达式了解不够,不知道如何设置。有人能给我指点一下吗?
答案1
尝试这个:
<VirtualHost *:80>
ServerName example.org
ServerAlias *.example.org
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*\.)?example\.org$
RewriteRule ^/(.*)$ http://%1example.com/$1 [R=301,L]
</VirtualHost>
ServerName example.com
..然后使用和配置你的其他虚拟主机(为 example.com 提供内容的虚拟主机)ServerAlias *.example.com
。
编辑:通过添加“?”量词使子域的匹配成为可选项