![转发域但不转发子域](https://linux22.com/image/711197/%E8%BD%AC%E5%8F%91%E5%9F%9F%E4%BD%86%E4%B8%8D%E8%BD%AC%E5%8F%91%E5%AD%90%E5%9F%9F.png)
我想将主域转发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
文档根目录中的文件中添加所需域的规则。