我有一个 asp.net 项目,我使用 TFS-2017 发布管理部署到环境中我们遇到问题,当我们部署网站时,用户有旧的(缓存的)图像/内容我想配置 IIS 7,以便我可以测试几个解决方案在本地,该网站在 localhost:89 上打开,但是当我单击一个按钮时,它会将我重定向到一个实时网站,我尝试使用以下命令配置 Hosts 文件
127.0.0.1 example.com
127.0.0.1 www.example.com
但这不起作用,我的 web.config 文件有很多包含 url 的 appSettings,这就是导致我重定向的原因(我认为)。
问题:如何配置 IIS 使其仅使用 Localhost:89,当我单击按钮时,它将重定向我而不是 www.example.com 到 127.0.0.1:89?
如何配置 IIS 使其仅使用 Localhost:89,当我单击按钮时,它将重定向我而不是 www.example.com 到 127.0.0.1:89?
您不能为此配置 IIS
IIS 不会自行重定向,而是应用程序在执行此操作。如果您的应用程序编写了重定向到另一个页面的代码,则从 IIS 端您将无法执行任何操作。流程将如下所示
由于重定向是由应用程序发送的响应消息,而实际的重定向是由浏览器完成的,因此从 IIs 方面您不能做太多事情。
正如您所做的那样,您可以告诉浏览器 www.example.com 是 localhost(通过编辑 hosts(C:\Windows\System32\drivers\etc\hosts) 文件。但这与 IIS 无关。
您必须与应用程序开发人员核对以了解重定向的原因并根据设置进行条件重定向。
Hosts 文件配置看起来不错
127.0.0.1 example.com
127.0.0.1 www.example.com
但是你可能已经知道它只在同一台机器上工作。所以如果你从命令行 ping www.example com,你应该得到如下输出
D:\>ping www.example.com
Pinging www.example.com [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
一个您的 ping 工作正常,您必须完全关闭浏览器并重新打开它(如果是 chrome,请关闭所有 chrome 实例)。然后从浏览器访问 www.example.com,它应该转到 localhost。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句