我如何转发www.sub.domain.com
至//sub.domain.com
这全都在一个虚拟主机中
<VirtualHost *:443>
Include /etc/apache2/vhosts.d/ssl.conf.include
DocumentRoot /scripts/htdocs/domain-live
ServerName sub.domain.com
ErrorLog /var/log/apache2/smartdox-wellpoint_error
CustomLog /var/log/apache2/smartdox-wellpoint_access combined
<Directory /scripts/htdocs/smartdox-live>
Options -Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:433>
Include /etc/apache2/vhosts.d/ssl.conf.include
ServerName www.sub.domain.com
RewriteEngine On
Redirect 303 / https://sub.domain.com
</VirtualHost>
答案1
添加
ServerAlias *.sub.domain.com
到 vhost-config。
答案2
正如其他人提到的...您可以接受其他域作为别名...或者您可以设置一个重写规则,使用别名重定向到正确的站点名称。
RewriteCond %{REMOTE_HOST} =www.sub.domain.com
RewriteRule ^/(.*) https://sub.domain.com/$1
如果您确实不想要别名...使用重写规则添加第二个虚拟主机...并将服务器名称设置为 www.sub.domain.com
答案3
尝试放入
ServerAlias www.sub.domain.com
服务器名称之后
答案4
如果您想进行这样的重定向,最好的办法可能是设置一个这样的额外 VirtualHost,并在其中进行重写,如下所示:
<VirtualHost *:443>
ServerName www.sub.domain.com
Redirect permanent / https://sub.domain.com
</VirtualHost>
要将所有 http 请求重定向到 https,您可以使用另一个 VirtualHost,如下所示:ServerName sub.domain.com ServerAlias www.sub.domain.com
Redirect permanent / https://sub.domain.com
这需要安装并启用 Apache 模块 mod_alias。