gpt4 book ai didi

asp.net - 在asp.net中更推荐的301重定向方式是什么?

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

我用谷歌搜索了所有内容,阅读了大量不同的回复——其中一些我试图暗示,但没有成功。我不是专业程序员,但我感谢这个论坛上的人们教给我很多关于一切的知识,从 jquery 到 doctypes,应有尽有!

我有一个使用 VWD 2010 Express 开发的网站。我只想知道两件事:

  1. 我知道同时拥有 yourdomain 和 www.yourdomain 对搜索引擎/重复内容不利,因此我想设置 301 重定向,以便当最终用户输入 mydomain 时,他们会自动重定向到 www.mydomain(带有 www)。

  2. 我移动了一些不在根目录中但在文件夹中的页面。所以我想用新位置替换过时的页面。我想通过自动将它们从 www.mydomain/services/engineering.aspx 重定向到 www.mydomain/products/engineering.aspx 来实现此目的。

    <

这很难吗?是否(推荐)使用.htaccess、web.config或其他文件?

感谢您花时间阅读本文,我真诚地感谢您的所有反馈。

贾森·韦伯

最佳答案

除非我误解了 .htacess 是针对 Apache 的,如果您在 ASP.Net 中进行编码,那么您几乎肯定会使用 IIS。因此,请忽略您研究中的 .htaccess 内容。

您可以使用某种 URL 重写器进行重定向,但这可能会变得非常复杂。如果我是你,我会尽可能简单,并在 Page_Load 事件中进行旧页面 301 重定向,即

protected void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.domainname.com/new-page.aspx");
}

对于规范重定向(非 www 到 www),您可以在 Application_BeginRequest 中的 Global.asax 文件中执行类似操作,以检测非 www 变体,即

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

(这不是我的代码,它来自 here )

无论如何,这就是我要做的 - 它的好处是易于理解,并且可以让您远离任何奇怪的 Web 服务器配置,有时我发现这些配置有点黑匣子。

关于asp.net - 在asp.net中更推荐的301重定向方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8772582/

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