发布新网站时处理重定向

发布于 2025-01-08 12:49:43 字数 315 浏览 1 评论 0原文

我即将为客户发布/更换网站。我想知道处理从旧(不再存在)页面到新的等效页面(不同的网址)的重定向的最佳方法是什么。

示例:

site.com/product/page.aspx 应重定向到 site.com/newstruct/stuff.aspx

我正在寻找处理所有这些重定向(301:s)的可靠中央方式。

为旧页面创建路径并简单地从那里重定向并不是一个好的解决方案。我可以使用 Web.config 中的 Url 映射来实现此目的吗?我应该使用 global.asax 吗?

I am on the verge of releasing/replacing a site for a client. I am wondering what the best way of dealing with redirects from old (no longer existing) pages to the new equivalent page (differnt url).

Example:

site.com/product/page.aspx should redirect to site.com/newstructure/stuff.aspx

I'm looking for a solid central way of handling all these redirects (301:s).

Creating paths for old pages and simply redirects from there is not really a good solution. Can I use Url Mappings in Web.config for this? Should I use global.asax?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

纸伞微斜 2025-01-15 12:49:43

为了不丢失您的 Google 位置,您需要在页面之间进行 301 永久重定向

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

To not lose your google position you need to make a 301 Permanent Redirect from page to page.

RedirectPermanent("newpage.aspx");

Now, if you have made a table, from old page to new pages, you can apply it to global.asax as:

// 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

陈独秀 2025-01-15 12:49:43

我建议使用 URL 重写模块,然后设置规则。您的网址可能不匹配,因此您必须手动映射它们(无论如何,手动映射要好得多,因为这是最可靠的方法)。

如果您正在寻找模块,请查看以下网址。
http://learn.iis.net/page。 aspx/460/using-the-url-rewrite-module/

根据运行它的 IIS,您可能需要查找不同版本的重写模块。

希望有帮助。

I would suggest using URL Rewrite module and then setting up the rules. Your urls probably won't match, so you would have to map them manually (anyways it's much better to do it manually as this is the most reliable way).

If you are looking for a module then have a look at the below url.
http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

Depending on which IIS you are running it under, you might want to find different version of the rewrite module.

Hope that helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文