转发域但不转发子域

转发域但不转发子域

我想将主域转发example.com到(WIX 网络空间)域,但不转发应保留在我的服务器上的guenterpolt.wixsite.com/example子域。moodle.example.com

我无法使用 DNS 来实现这一点,因为 WIX 没有给我 IP,所以我必须使用某种 HTML/PHP 或.htaccess转发。HTML/PHP 标头或元刷新转发会转发所有内容。这可行吗.htacess?我该如何实现?

答案1

假设子域名配置为其自己的虚拟主机,那么您可以Redirect在主域名的<VirtualHost>容器中使用 mod_alias:

Redirect / https://guenterpolt.wixsite.com/example/

我假设目标站点是 HTTPS。

但是,如果.htaccess这是您唯一的选择(或者两个域名在同一个 VirtualHost 中配置),那么您可以使用 mod_rewrite 来重定向主域名:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^ https://guenterpolt.wixsite.com/example%{REQUEST_URI} [R,L]

这仅适用于主域。

这将在.htaccess服务器配置中起作用。

如果想要永久保留,R则更改为。R=301

答案2

您必须为两个网站创建不同的虚拟主机文件,即,一个用于域example.com,另一个moodle.example.com用于 Apache 或您正在使用的任何 Web 服务器中的子域。

apache 虚拟主机文件的示例。

文件名:vhost.conf

Listen 80

    <VirtualHost 172.20.30.50>
       ServerName dr-polt.at
       DocumentRoot "/www/example1"

       # Other directives here ...
    </VirtualHost>


    <VirtualHost 172.20.30.50>
       ServerName moodle.dr-polt.at
       DocumentRoot "/www/example2"
       # Other directives here ...

    </VirtualHost>

您可以.htaccess在 Apache 中vhost.conf.htaccess文档根目录中的文件中添加所需域的规则。

相关内容