转发子域名

转发子域名

我如何转发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。

相关内容