当我设计我的网络应用程序时,我喜欢使用“/”来指定对根目录的访问。现在,这在我在 IIS 7.5 上运行的生产站点上完美运行。
但是,当我尝试在 VS 2010 的虚拟服务器上运行该站点时,我不断收到以“/”开头的任何路径的 404 错误。
现在,当我收到 404 错误时,地址栏中的地址是正确的地址。例如,我有一个指向/index.aspx' - and on the iis7.5 webserver, the path becomes
http://my.site.com/index.aspx and it navigates perfectly. However on the VS virtual server, the path becomes
http://localhost:61679/index.aspx 的链接,但我收到 404 错误。
但是,如果我不在路径中使用“/”——也就是说,我要么使用完整路径,要么不使用它,那么虚拟服务器将导航到http://localhost:61679/index.aspx
应该的样子。
所以无论“/”是不是第一个字符,地址都是一样的。
这些链接都没有使用runat="server"
,所以我不需要担心使用~
。
是否有设置可以启用此功能?
[更新]
我还有一些线索:
- 当我导航到http://localhost:61679/index.aspx
它时会得到 404。 - 如果我导航到http://localhost:61679/mysite/index.aspx
它加载正常。- 以“/”开头的链接指向http://localhost:61679/
NOT http://localhost:61679/mysite
。- 这意味着“/”告诉 VS 服务器导航到服务器的根目录,而不是站点的根目录。但是,它在 IIS 中不能以这种方式工作。
如果我告诉 VS 使用 IIS Express,一切正常。
这意味着必须在某处进行设置,以使“/”指代 Visual Studio 内置服务器的站点根目录(我将其称为“虚拟服务器”)。