加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 20:20:16 所属栏目:asp.Net 来源:网络整理
导读:我已经搜索了所有内容,并且我已经阅读了大量不同的回复 – 有些我试图暗示没有成功.我不是一个专业的程序员,但我感谢这个论坛的人们教我很多东西,从 jquery到doctypes,到你的名字! 我有一个在VWD 2010 Express中开发的网站.我只想知道两件事: 我知道搜索引
我已经搜索了所有内容,并且我已经阅读了大量不同的回复 – 有些我试图暗示没有成功.我不是一个专业的程序员,但我感谢这个论坛的人们教我很多东西,从 jquery到doctypes,到你的名字!

我有一个在VWD 2010 Express中开发的网站.我只想知道两件事:

>我知道搜索引擎/重复内容对你的域名和www.yourdomain都不好,所以我想设置301重定向,这样如果最终用户输入mydomain,它们会自动重定向到www.mydomain(与www).
>我已经移动了一些不在根目录中但在文件夹中的页面.所以我想用新的位置替换过时的页面.我想通过自动将它们从www.mydomain / services / engineering.aspx重定向到www.mydomain / products / engineering.aspx来实现.

这难吗?是(推荐)使用.htaccess,web.config还是其他东西?

感谢您抽出宝贵时间阅读本文,我衷心感谢所有反馈.

杰森韦伯

解决方法

除非我误解了.htacess是针对Apache的,如果你在ASP.Net中编码,你几乎肯定会使用IIS.所以在你的研究中igonore .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服务器配置的限制,我有时会发现它有点像黑盒子.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读