我有一个域名,比如说“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