2

我继承了一个相当复杂的网站项目,当我在 VS 2012 中在“服务器”的默认“使用默认 Web 服务器”设置下运行它时,它在基本 URL 下正确地提供登录页面,http://localhost:45632我可以很好地登录. 然后,当我单击带有 URL 的菜单项时http://localhost:45632/Apps/Visitors/General.aspx,我会得到一个简单明了的 404。

如果我在 IIS 7.5 中为它创建一个网站(不是默认站点下的应用程序);将物理目录设置为项目的源文件夹;给它一个主机名,xtjethro.local然后编辑我的主机文件以将该主机名指向 127.0.0.1;将网站项目设置为使用自定义服务器,其基本 URL 为 ,最后,从其上下文菜单中浏览该站点,它在基本 url 下提供其页面,http://xtjethro.local/而不是http://localhost:45632,一切正常。

然后,如果我将网站项目设置为使用具有基本 URL 的自定义服务器http://xtjethro.local,并重新启动 VS2012,以管理员身份运行它,那么一切都可以从那里开始。

我想知道为什么http://localhost:45632/Apps/Visitors/General.aspx在VS2012下http://xtjethro.local/Apps/Visitors/General.aspx不工作,但在IIS下工作。

4

1 回答 1

1

Visual Studio 开发 Web 服务器通常在与您的项目名称匹配的虚拟目录下运行该站点。这意味着您页面的 URL 应该是http://localhost:45632/YourProjectName/Apps/Visitors/General.aspx. 如果您在 IIS 的默认站点下创建应用程序,您可能会看到同样的问题。

您需要更改链接的生成方式。代替 using /Apps/...,使用~/Apps/...- ASP.NET 将自动解析~/为站点的基本路径。

于 2013-07-04T16:15:38.850 回答