我想设置从.co.uk网站到.com网站的301重定向,保留相同的页面。
所以有人去mydomain.co.uk/pages/about应该被重定向到mydomain.com/pages/about
我正在使用ASP.NET和IIS 7.0并且没有太多运气。我尝试设置一个自定义404文件,其中包含重定向:
if (HttpContext.Current.Request.Url.ToString().ToLower().Contains(".co.uk"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace(
".co.uk",
".com"));
}
但是当我转到/ pages / about这样的网址时,我的404页面没有被调用。我在web.config中有以下内容:
<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="404.aspx"/>
</system.web>
</configuration>
有人可以帮忙吗?
答案 0 :(得分:0)
customErros section
。尝试导航到mydomain.co.uk/pages/about时是否有任何错误?
如果没有错误 - customErrors不受影响。在这种情况下,您可以尝试Response.Redirect("mydomain.com/pages/about")
。
请参阅HttpResponse.Redirect on MSDN(引用: ASP.NET通过返回302 HTTP状态代码来执行重定向。)
答案 1 :(得分:0)
我最终使用了global.asax的Application_BeginRequest函数。比尝试重定向到404更清洁。
答案 2 :(得分:0)