在一个 PHP 文件中捕获所有子域名

在一个 PHP 文件中捕获所有子域名

我有一个域名,比如说“example.com”,以及一个运行 CentOS 和 Apache 的服务器

在我的服务器上,我有一个运行良好的网页,但我想在一个 PHP 文件中捕获所有子域:

test.example.com/test --由--> example.com/subdomainhandler.php?requested=test.example.com&file=test 处理

但我不想让用户在他的地址栏中注意到它!

我知道 DNS 记录中可以有通配符,但我可以让它将请求的文件直接映射到我现有的网页。

有没有办法在没有第二台物理服务器的情况下做到这一点?

答案1

你应该能够用别名指令。另外,如果您使用 SSL 证书,请不要使用通配符。它们不安全。请改为设置主题备用名称 (SAN)。

你也可以通过 mod_rewrite 来实现这一点。例如:

RewriteCond %{HTTP_HOST} ^.*\.example\.com
RewriteRule  ^(.*)\.example\.com example\.com/subdomainhandler.php?requested=$1&file=test  [P]

您可能需要修改正则表达式来满足您的需要。

来源:https://www.inmotionhosting.com/support/website/htaccess/redirect-without-changing-url

相关内容