我的任务是向现有的 IIS 6.0 网站添加功能。为此,我构建了一个 ASP.NET MVC 应用程序。当部署为它自己的站点时它工作正常,但当我尝试将它部署为它需要存在的实际站点上的虚拟目录时似乎不起作用。
服务器名称为 CWEBSERVER,IP 为 192.168.1.11。通过查看 IIS 管理器,这是站点结构:
(Default Website) (root)
- PRODUCTION (vDir)
- CONTENT (not a vDir)
- DATAFOLDER (vDir, contains MVC app, just added by me, not working)
奇怪的是,当我从服务器上的浏览器中键入以下 URL 时,它可以工作:
http://localhost/DATAFOLDER/account.aspx
http://127.0.0.1/DATAFOLDER/account.aspx
http://192.168.1.11/DATAFOLDER/account.aspx
以下 URL(这是我需要工作的 URL)没有:
http://CWEBSERVER/DATAFOLDER/account.aspx
我得到的错误是“找不到资源”。
仔细观察后,我意识到对http://CWEBSERVER的请求将发送到 PRODUCTION vDir,但对http://localhost或http://192.168.1.11的调用将发送到网站的根目录。我想这是原始网站设计师设置的。我不确定如何更改此设置,但我认为无论如何我都无法更改它,因为实际上还有大量其他目录会受到影响。我想指出的另一件事是:可以通过访问http://CWEBSERVER/CONTENT访问 CONTENT 文件夹。这真的很奇怪,因为我认为http://CWEBSERVER将我指向根目录,所以我认为“/CONTENT”实际上无法访问 CONTENT 文件夹。
现在我的问题是:如何通过http://CWEBSERVER/DATAFOLDER 访问我的 DATAFOLDER?我认为我应该将 DATAFOLDER vDir放在PRODUCTION vDir 中。我试过了,使用 localhost 或 IP 仍然可以通过以下方式访问:
http://localhost/PRODUCTION/DATAFOLDER/account.aspx
http://127.0.0.1/PRODUCTION/DATAFOLDER/account.aspx
http://192.168.1.11/PRODUCTION/DATAFOLDER/account.aspx
但是,当我使用 CWEBSERVER 时,它仍然失败:
http://CWEBSERVER/DATAFOLDER/account.aspx
错误仍然是“找不到资源。”。任何人都可以对此有所了解吗?具体来说,我有这些问题:
- http://localhost如何进入根目录,而http://CWEBSERVER 如何进入 PRODUCTION vDir?我在哪里可以更改此设置?
- 为什么“ http://localhost/PRODUCTION/DATAFOLDER/account.aspx ”可以工作,但“ http://CWEBSERVER/DATAFOLDER/account.aspx ”不行?
这个问题的公认答案(赏金将授予谁)需要能够做到,这样我才能访问http://CWEBSERVER/DATAFOLDER/account.aspx。谢谢!