我正在尝试将基本 Web 应用程序从 Windows 7 上的 Visual Studio 上传到 Windows Server 2007 上的 IIS 环境。
虽然从 IIS 启动它会显示登录页面,但尝试导航到主菜单会返回此错误:
应用程序“PARKING/PARKING ASSIGNMENTS WEB”中的服务器错误 互联网信息服务7.0
错误总结
HTTP 错误 404.0 - 未找到
您正在查找的资源已被删除、更名或暂时不可用。详细错误信息
模块 IIS Web 核心
通知MapRequestHandler
处理程序静态文件
错误代码 0x80070002
请求的网址http://localhost:81/Parking Assignments Web/Home
物理路径C:\ParkingAssignmentsWeb\Home
登录方式 匿名
匿名用户登录最可能的原因:
- Web 服务器上不存在指定的目录或文件。
- 该 URL 包含拼写错误。
- 自定义过滤器或模块(例如 URLScan)限制对文件的访问。
您可以尝试的事情:
- 在 Web 服务器上创建内容。
- 查看浏览器 URL。
创建跟踪规则来跟踪此 HTTP 状态代码的失败请求,并查看哪个模块正在调用 SetStatus。有关为失败请求创建跟踪规则的更多信息,请单击此处。 链接和更多信息此错误意味着服务器上不存在该文件或目录。创建文件或目录并重试该请求。 查看更多信息»
这是我用于导航的代码:
Response.Redirect("Home.aspx");
为什么此导航可以在 Visual Studio 上运行,但不能在 IIS 上运行?
我尝试了你们向我展示的重定向命令的各种变体,但它们都给出了 404 错误,这让我相信问题不在于命令,而在于其他东西。知道什么吗?
它将
Home.aspx
视为相对路径。
像这样使用它:
Response.Redirect("/Home.aspx");
当您部署到 IIS 时,将使用不同的 Web 服务器。 Visual Studio 使用选项有限的 Web 服务器,在大多数情况下,但并非所有应用程序在部署到 Windows 服务器上的 IIS 时都应该在不进行任何更改的情况下运行。
需要检查的事项
请尝试:
Response.Redirect("~/Parking Assignments Web/Home.aspx");
或
Response.Redirect("~/Parking Assignments Web/Home");