我有 domain1.tld 和 domain2.tld。Domain1.tld 是主域名,domain2.tld 只是一个别名。我已经通过 HTACCESS 成功地将 domain2.tld 重定向到 domain1.tld,但我希望 domain2.tld 上的所有子域同样动态地重定向到它们在 domain1.tld 上的并行子域。
例如:bla.domain2.tld 应该重定向到 bla.domain1.tld,而 foo.domain2.tld 应该重定向到 foo.domain1.tld。
这个解决方案需要是动态的,而不是硬编码到特定的子域。
哈哈,我猜我写的是HTACCESS中的一个包罗万象的、一对一的、包含子域的、别名域重定向脚本。
信息:
我在 Bluehost 上,无法访问 VHOSTS、HTTPD.CONF 等。
我有一个 Wordpress 子域网络(多站点)。这意味着我的 domain1.tld 子域是虚拟的。Wordpress 会处理这个问题,所以只要我可以将 foo.domain2.tld 完全重定向到 foo.domain1.tld,Wordpress 就应该是最明智的并且可以正常工作。对?
Wordpress 具有“专业域映射”插件。这允许我网络上的站点拥有自己的域名。但手头的问题只涉及我网络上没有自己域名的站点,因此在我的主域 (domain1.tld) 上使用子域。
因此,我为 domain1.tld 设置了一个通配符子域。
但我也为 domain2.tld 设置了一个通配符子域,只是为了确保 domain2.tld 上的所有子域都与 domain1.tld 使用相同的 IP 地址:我的想法是,这些子域应该可以被 HTACCESS 读取我的根文件夹。
这是我希望这样做的 HTACCESS 规则:
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+\.)?domain2\.com$ [NC]
RewriteRule ^(www\.)?([a-z0-9-]+\.)?(.*) http\:\/\/%2domain1\.com\/ [L]
Run Code Online (Sandbox Code Playgroud)
但这不起作用。我错过了什么?
我也尝试过使用环境变量,如下所示:
RewriteCond %{HTTP_HOST} ^(www\.)?[E=subdm:([a-z0-9-]+\.)]?domain2\.com [NC]
RewriteRule ^(.*) http\:\/\/%{ENV:subdm}domain1\.com\/ [L] …Run Code Online (Sandbox Code Playgroud)