前言
在工作中,我将把我们的服务器从 WAMP 箱迁移到 LAMP 箱,凭借我对 Apache 和通配符域的了解,我们希望使用 client.ourtestserver.com 而不是当前的 test.ourtestserver.com/client/project_id
当然,管理层希望 URL 中的 project_id 可用于会计、计费和组织目的,因此他们希望使用 project_id.client.ourtestserver.com 或 client.ourtestserver.com/project_id。
问题是,开发人员和项目经理喜欢使用简称 (client.ourtestserver.com) 来开发,因此存在冲突。
我的问题
Apache 是否有办法自动列出子域的子子域,例如 client.ourtestserver.com 列出(通过简单目录列表或类似方式)子子域,例如 1234.client.ourtestserver.com、1235.client.ourtestserver.com、3452.client.ourtestserver.com?
这样,我们就可以将客户引导至 client.ourtestserver.com(通过电话更容易说)并让他们点击他们的 project_id。
或者我的做法是错误的?
答案1
运行httpd -S
将列出 apache 配置的所有 VirtualHost 和 NameVirtualHosts。但是,如果您使用通配符功能,我相信此信息的唯一权威来源是“ourtestserver.com”区域的 DNS 服务器。当然,您可以对访问日志进行分析,前提是您已经%{Host}i
在 LogFormat 中,但这只会提供以前访问过的子域。