我即将为客户发布/替换网站。我想知道从旧的(不再存在的)页面到新的等效页面(不同的URL)处理重定向的最佳方法是什么。
示例:的
site.com/product/page.aspx
应重定向到site.com/newstructure/stuff.aspx
我正在寻找处理所有这些重定向的可靠核心方法(301:s)。
为旧页面创建路径并简单地从那里重定向并不是一个好的解决方案。我可以在Web.config中使用Url Mappings吗?我应该使用global.asax吗?
答案 0 :(得分:1)
为了不丢失您的Google位置,您需要在页面之间设置301 Permanent Redirect
。
RedirectPermanent("newpage.aspx");
现在,如果您创建了一个表,从旧页面到新页面,您可以将它应用于global.asax:
// initialize this list on start of your program
Dictionary<string,string> oMapOldToNew = new Dictionary<string,string>();
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
if(oMapOldToNew.ContainsKey(cTheFile))
{
Response.RedirectPermanent(oMapOldToNew[cTheFile], true);
return;
}
}
RedirectPermanent ref:http://msdn.microsoft.com/en-us/library/dd322042.aspx
答案 1 :(得分:0)
我建议使用URL Rewrite模块,然后设置规则。您的网址可能不匹配,因此您必须手动映射它们(无论如何,手动执行它会更好,因为这是最可靠的方式)。
如果您正在寻找模块,请查看以下网址。 http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
根据您正在运行它的IIS,您可能希望找到不同版本的重写模块。
希望有所帮助。