如果HttpError为404,我正在尝试重定向页面 它在本地主机上工作完美,但在实时网站上却没有。
这是我的代码
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
HttpException serverError = Server.GetLastError() as HttpException;
if (serverError != null)
{
int errorCode = serverError.GetHttpCode();
if (errorCode == 404)
{
Server.ClearError();
if (Request.Url.ToString().Contains("contact.php"))
{
Response.Redirect("contact-us.aspx");
}
}
}
}
感谢。请告知如何让它在现场工作,
答案 0 :(得分:1)
为什么不使用web.config而不是global.asax文件?
<system.webServer>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="contact-us.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
答案 1 :(得分:0)
尝试Response.Redirect(“〜/ contact-us.aspx”);
答案 2 :(得分:0)
我想出来了。我必须在web.config中编写一条规则,以便我需要重定向
<system.webServer>
<rewrite>
<rules>
<rule name="contact">
<match url="^(contact).php$"/>
<action type="Redirect" redirectType="Permanent" url="https://www.example.com/contact-us.aspx" />
</rule>
</rewrite>
</system.webServer>
这完全适用于我必须重定向的所有页面。并且在global.asax中没有添加任何代码