![更改/etc/hosts](https://linux22.com/image/202245/%E6%9B%B4%E6%94%B9%2Fetc%2Fhosts.png)
我希望这个文件api.example.com/test/info.php
来自localhost/test/info.php
。
我的想法是,我不希望所有文件都从api.example.com
本地主机获取,而只是文件info.php
。
所以我尝试通过编辑来做到这一点/etc/hosts
,但它不起作用:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 api.example.com/test/info.php
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
我知道它不尊重内部结构/etc/hosts
,但我不知道如何解决这个问题。那我能做什么呢?
答案1
主机文件不会解决这个问题。 Hosts文件用于提供域名解析。
假设 localhost 和 example.com 都是 Web 服务器。更合适的解决方案是使用代理,以便特定路径充当外部服务器的代理。例如,对于 serverA (example.com) 上的 Apache,您可以在配置中写入以从 serverB 请求文件(即本地主机的远程名称):
ProxyPass /test/info.php http://serverB/test/info.php
ProxyPassReverse /test/info.php http://serverB/test/info.php
这意味着对 serverA 上的 /test/info.php 的任何访问都会从 serverB 中提取该文件。