重定向没有已知域的通配符子域 - htaccess
Redirect wildcard subdomain without known domain - htaccess
当顶级域名未知时,通过 htaccess 重定向的合适方法是什么?
我的具体情况是这样的...我们公司有一个定制的内容管理系统,在我们的几个服务器上使用。每台服务器都有一个子域,用于该服务器上的每个客户。
即
- customerBob.exampleA.com
- customerLarry.exampleA.com
- customerJudy.exampleB.com
- customerAlice.exampleB.com
我们有很多服务器,每台服务器都托管一组客户。子域完全没有必要,因为客户已经可以从顶级域访问他们的帐户。它只会使支持更加复杂,帮助文件更加混乱。
我们想删除所有子域并将子域重定向到主域。
所以如果有人访问:customerBob.exampleA.com/test.php --> 他们应该被定向到 --> exampleA.com/test.php.
我想通配顶级域。 我看到的 htaccess 重定向的所有示例都显示在目标中指定了 example.com。我是否可以在不知道顶级域可能是什么的情况下重定向到顶级域?
这是有人想出的代码,但完全失败了,此时我得到了 500:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^/.]+)\.(*)\.(*)$
RewriteRule (.+)$ "/%1" [L,P]
我认为这是可能的,因为存在许多内容管理系统,这可能是必要的。感谢您的帮助。
我对您提供的代码做了一些小改动:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^/.]+)\.(.*)\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%2\.%3/ [L,R]
对我来说这是回归 http://exampleA.com/test.php
。我明确重写为 http
。如果您使用 SSL,您可能想要更改此设置。
确保在测试之前清除缓存。
当顶级域名未知时,通过 htaccess 重定向的合适方法是什么?
我的具体情况是这样的...我们公司有一个定制的内容管理系统,在我们的几个服务器上使用。每台服务器都有一个子域,用于该服务器上的每个客户。
即
- customerBob.exampleA.com
- customerLarry.exampleA.com
- customerJudy.exampleB.com
- customerAlice.exampleB.com
我们有很多服务器,每台服务器都托管一组客户。子域完全没有必要,因为客户已经可以从顶级域访问他们的帐户。它只会使支持更加复杂,帮助文件更加混乱。
我们想删除所有子域并将子域重定向到主域。
所以如果有人访问:customerBob.exampleA.com/test.php --> 他们应该被定向到 --> exampleA.com/test.php.
我想通配顶级域。 我看到的 htaccess 重定向的所有示例都显示在目标中指定了 example.com。我是否可以在不知道顶级域可能是什么的情况下重定向到顶级域?
这是有人想出的代码,但完全失败了,此时我得到了 500:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^/.]+)\.(*)\.(*)$
RewriteRule (.+)$ "/%1" [L,P]
我认为这是可能的,因为存在许多内容管理系统,这可能是必要的。感谢您的帮助。
我对您提供的代码做了一些小改动:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^/.]+)\.(.*)\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%2\.%3/ [L,R]
对我来说这是回归 http://exampleA.com/test.php
。我明确重写为 http
。如果您使用 SSL,您可能想要更改此设置。
确保在测试之前清除缓存。