【发布时间】:2013-09-04 08:11:20
【问题描述】:
我必须在我的 MVC global.asax 文件中编写重定向以适应 IIS 6 服务器。但是,当我访问带有扩展名 (.html) 的旧网址时,服务器不会重定向。这是我的重定向代码示例:
if (url.Contains("contact.html"))
{
Response.Clear();
Response.Status = "301 Moved Permanently";
Response.StatusCode = (int)HttpStatusCode.MovedPermanently;
Response.AddHeader("Location", "http://www.mysite.com/contact");
Response.End();
}
为什么这不起作用?
【问题讨论】:
-
您是否更改/删除了 IIS 中的 .html 处理程序以允许 ASP.NET 拦截请求?
-
我知道您在做什么,但您似乎使用的是螺丝刀而不是电钻。为什么不在
home控制器中创建一个重定向到名为contact的操作方法的路由? -
这是旧版网站的过时网址。我已经有了常规联系页面的路线。当 url 包含 .html 时,我正在尝试重定向。我说得通吗?
-
史蒂文,我无权访问服务器。如果这是问题所在,那么我将不得不让服务器管理员处理。
-
我认为,如果没有安装重写,那么可以使用 HTTPHandlers 轻松完成。
标签: asp.net-mvc-4 redirect iis-6