gpt4 book ai didi

asp.net - 如何在 ASP.NET 4.0 中进行 301 重定向?

转载 作者:行者123 更新时间:2023-12-02 11:33:45 24 4
gpt4 key购买 nike

我正在尝试为网站实现 URL 重定向,而不是逐页执行。我想在 global.asax 文件中执行此操作。下面是我定义的代码。

我想要http://website.net作为我的主 url 并希望在有人输入 http://www.website.net 时获得永久 URL 重定向.

不幸的是,它不适用于实时网站。谁能指出代码中的问题。该代码不会产生任何错误。

void Application_Start(object sender, EventArgs e) 
{
// Code that runs on application startup

if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://website.net"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://website.net", "http://www.website.net"));
}

}

最佳答案

主要问题:您正在 Application_Start 中执行上述操作 - 仅执行一次。您应该连接每个请求。试试这个:

void Application_BeginRequest(object sender, EventArgs e) 
{
// Code that runs on every request

if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://website.net"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://website.net", "http://www.website.net"));
}

}

更好的方法是使用 URL 重写,可以在 Web.Config 中进行配置:

Microsoft rewriting module - Force www on url Or remove www from url

关于asp.net - 如何在 ASP.NET 4.0 中进行 301 重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com