configuration主机文件指向我的服务器

我在网站开发/部署过程中遇到了一些烦人的问题; 当我在我的服务器本地工作,我的程序的地址是localhost:8080 / MYSERV / …,而当我部署它的地址是www.mysite.com / …

我希望我的网页中的所有链接都可以硬编码到部署版本。 我已经阅读了一些主机文件教程,但是我仍然不知道如何将请求本地redirect到www.mysite.com/到本地服务器进行开发。 如果有人能把我指向明显的单线,我将非常感激。 提前感谢!

内部链接不应该使用绝对URL,因为当站点部署在不同的主机名下时(正如你所发现的那样),它们需要重新configuration,并且在引入反向代理时会使生活变得困难。 链接应该最好是相对于当前位置(以便站点可以容易地在任意顶层path下部署),或者如果这不可行,则相对于根path(即/images/blah )。 使用绝对URL的唯一真正原因是在HTTP和HTTPS之间进行链接(这在Web服务器configuration中可能更容易)。

您的主机文件通常会覆盖DNS条目,但其用途通常与您所描述的不同。 在你的代码中使用绝对path不是一个好主意,所以我build议你改用相对path。

要回答您的问题,主机文件每行包含2个条目,首先是IP地址,后面是主机名。 举个例子:

 161.114.221.123 www.mysite.com 

如果您从您的浏览器请求www.mysite.com,将不会有DNS查询,而是您的浏览器直接从161.114.221.123请求www.mysite.com。 所以在你的情况下,主机文件条目如下所示:

 127.0.0.1 www.mysite.com 

我可以看到这个设置唯一的问题是,当您尝试从您的浏览器请求www.mysite.com,它将联系80端口的远程服务器,从你给的例子看起来像你的localhostnetworking服务器实际上是在端口8080上进行监听。你需要重新configuration你的本地web服务器来侦听端口80,并且build立一个相应的vhosts文件,以便响应www.mysite.com的请求。