【发布时间】:2018-06-07 16:02:16
【问题描述】:
我正在尝试运行从 FTP 服务器下载的 ASP.NET Webforms 网站,但在尝试构建和运行项目时遇到了问题。
当我构建和运行网站时,它会打开我的浏览器窗口,但会添加“www”。在本地主机地址之前,我得到一个未找到服务器的错误。我能够成功构建和运行其他网站,所以我认为我的 web.config 或网站属性一定有问题。这是我的浏览器窗口的屏幕截图:
- Visual Studio 版本:15.7.2
- IS 快递:10.0.1743
我尝试更改 application.config 文件中使用的 IIS 端口以查看是否有帮助,但在我编辑原始站点标记后,它被新的站点标记替换。例如,如果我的原始端口是 51060,我将其更改为 51065,如下所示:
<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<site name="mywebsite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\me\Documents\mywebsite" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:51065:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
application.config 文件更改为:
<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<site name="mywebsite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\me\Documents\mywebsite" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:51065:localhost" />
</bindings>
</site>
<site name="mywebsite(1)" id="3">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\me\Documents\mywebsite" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:51060:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
感谢您的帮助。
【问题讨论】:
-
"www.localhost" 无效,因为它没有DNS记录,IIS Express没有对应的映射。学习计算机网络基础知识,你就会明白为什么。
-
感谢您的回复!是的。我知道这是无效的,但是当我删除“www”时。并尝试导航到localhost:port#,我被重定向到这个“www”。地址。
-
恢复您之前的所有更改。然后检查代码库中是否有任何地方尝试执行重定向。默认情况下,IIS Express 不会执行此操作。
-
@ASP.NETHelpAccount 检查应用程序
web.config文件中是否存在导致重定向到 www url 的任何 url 重写规则。此外,在代码中搜索任何此类重定向
标签: asp.net visual-studio webforms iis-express