更改/etc/hosts

更改/etc/hosts

我希望这个文件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 中提取该文件。

相关内容