asp.net-mvc – Asp.net mvc 301从www.domain.com重定向到domain.com
发布时间:2020-05-23 05:59:51 所属栏目:asp.Net 来源:互联网
导读:我们在domain.com上有一个网站,也可以通过www.domain.com的CNAME条目访问domain.com.我们希望www.domain.com的所有访问者都可以使用301重定向重定向到domain.com.在asp.net mvc中实现这一点的最好方法是什么?在global.asax? 我接受根据问题的意见,在应用程
|
我们在domain.com上有一个网站,也可以通过www.domain.com的CNAME条目访问domain.com.我们希望www.domain.com的所有访问者都可以使用301重定向重定向到domain.com.在asp.net mvc中实现这一点的最好方法是什么?在global.asax? 解决方法我接受根据问题的意见,在应用程序级别做到这一点是不可取的.在IIS7中安装HTTP重定向功能是最好的方法. 在我们的例子中,其他约束迫使我们在应用程序层面这样做. 以下是我们在global.asax中执行重定向的代码: private static readonly Regex wwwRegex =
new Regex(@"www.(?<mainDomain>.*)",RegexOptions.Compiled
| RegexOptions.IgnoreCase
| RegexOptions.Singleline);
protected void Application_BeginRequest(Object sender,EventArgs e)
{
string hostName = Request.Headers["x-forwarded-host"];
hostName = string.IsNullOrEmpty(hostName) ? Request.Url.Host : hostName;
Match match = wwwRegex.Match(hostName);
if (match.Success)
{
string mainDomain = match.Groups["mainDomain"].Value;
var builder=new UriBuilder(Request.Url)
{
Host = mainDomain
};
string redirectUrl = builder.Uri.ToString();
Response.Clear();
Response.StatusCode = 301;
Response.StatusDescription = "Moved Permanently";
Response.AddHeader("Location",redirectUrl);
Response.End();
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何从运行时的强类型列表框架视图的Displa
- asp.net – 如何绑定gridview中数据表的复选框值
- 如何在ASP.NET Membership Cookie中存储自定义数据
- ASP.NET:将DataTable呈现到字符串(HTML)的最短方法?
- asp.net – Internet Explorer中的“通过电子邮件发送页面”
- 如何阻止ASP.NET Menu控件生成内联html样式元素
- asp.net-mvc-3 – 强制重新验证mvc3不显眼的远程验证
- asp.net-mvc – 将部分视图渲染为字符串MVC4
- asp.net – CustomErrors vs HttpErrors – 一个重大的设计
- 在ASP.NET中使用回发的jQuery模态对话框
