备注:这里我用到了Response.RedirectPermanent()用于做301跳转,

如:我希望访问网站的url访问地址为:http://m.shop/abc.html ,用户输入的访问地址:http://m.shop/ABc.html,就可以用到这个方法了,对上个请求返回301,发出一个新的正确的Url地址的请求。

 /// <summary>
/// 判断首页是否包含index.html或者index.aspx均301跳。
/// </summary>
/// <returns></returns>
private bool RedirectIndexUrl()
{
bool go301 = false;
Uri originalUri = base.Request.Url;
if (originalUri.Host.StartsWith(ConfigSetting.WEB_SITE_URL, StringComparison.CurrentCultureIgnoreCase))
{
if (originalUri.AbsolutePath.ToLower().IndexOf("index", StringComparison.Ordinal) > )
{
string url301 = UrlRoutingBus.GetHomeUrl(base.Request, base.CultureParameter);
base.Response.RedirectPermanent(url301, true);
go301 = true;
}
}
return go301;
}

  

  在ASP.NET4.0之前,开发人员经常使用Response.Redirect()方法,用编程的手法,将对老的URL的请求转到新的URL上。

  但许多开发人员没有意识到的是,Response.Redirect()方法发的是个 HTTP 302 Found (临时转向) 回复,会在用户尝试访问老的URL时,导致多余的HTTP往返。搜索引擎一般不会跟随多个重新转向跳转,意味着使用一个临时转向会负面影响你的网页排名。

  随着ASP.NET的发展,在ASP.NET 4中引进了一个新的Response.RedirectPermanent(string url)辅助方法,可以用来做一个HTTP 301 (永久性重定向)重新定向。这会导致能识别永久性重新定向的搜索引擎和其他用户代理保存和使用与内容相关联的新URL。这会使你的内容编入索引,你的搜索引擎页面排名得到提高。

  其实,早在ASP.NET MVC 中也有类似的代码:Response.RedirectToRoute(string routeName) 和Response.RedirectToRoutePermanent(string routeName)辅助方法,可以用来通过URL导向引擎做临时或永久性的重新定向。

  现在已经用到ASP.NET 4.0 Web Forms中。通常用Response.RedirectPermanent() 方法来进行SEO网站优化。

参考资料:https://www.cnblogs.com/lyl6796910/p/3793588.html

 

Response.Redirect()和Response.RedirectPermanent()区别的更多相关文章

  1. Response.Redirect与Server.Transfer区别-转

    执行过程: 1.浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器-> ...

  2. 关于Response.redirect和Response.End出现线程中止异常的处理

    最近做了一个项目其中使用了多线程获取POST过来的数据后再Response回复,但由于是多线程,在Response.End()的时候报出了异常: 2013-10-20 10:05:31,606 res ...

  3. Server.Transfer 和 Response.Redirect 用法区别

    在ASP.NET中,在后台传值方式目前大多都是用 Response.Redirect("页面地址") 来重定向页面的,但是现在还有一种方式也可以达到重定向页面的作用,而且在某些时刻 ...

  4. response.redirect 与location.href 的区别

    最近做项目时发现,先弹出提示框,再跳转页面 这样写:Jscript.Alert("你好,Hello!"); Response.Redirect("/index.aspx& ...

  5. Response.Redirect()、Server.Execute和Server.Transfer的区别

    1.Response.Redirect(): Response.Redirect方法导致浏览器链接到一个指定的URL. 当Response.Redirect()方法被调用时,它会创建一个应答,应答头中 ...

  6. Server.Transfer和Response.Redirect区别

    根本上,Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Resp ...

  7. 重定向语句Response.Redirect()方法与Response.RedirectPermanent()对搜索引擎页面排名的影响

    在ASP.NET中,开发人员经常使用Response.Redirect()方法,用编程的手法,将对老的URL的请求转到新的URL上.但许多开发人员没有意识到的是,Response.Redirect() ...

  8. 页面跳转 Server.Transfer和 Response.Redirect的区别

    1.Server.Transfer 用于把处理的控制权从一个页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变.因此你能从a页面跳转到b页面 ...

  9. 关于Response.Redirect和Server.Execute的区别

    Server.Transfer("path")内部重定向请求,是服务器内部的接管,浏览器无法意识到这个接管的发生,浏览器地址栏也不会发生变化.而Response.Redirect( ...

随机推荐

  1. Appium之Android功能脚本

    Android功能脚本 注:这里只写了登录和退出功能,以下不提供app的包名,下面我使用的是线上包 准备:1.Eclipse的Java环境:2.Appium环境:3.Android真机一台. 创建一个 ...

  2. ppt制作动态表格与文字

          在工作中经常与ppt打交道的小伙伴们,是不是非常想让自己做的ppt图表能够动起来,显得高大上一点呢?比如让柱形图慢慢长起来,让折线图慢慢画出来,让文字像字幕一样缓缓上升?本文将给大家整理几 ...

  3. JQuery 操作数组 each、map、grep、filter

    Jquery中对数组的操作大致有一下几种形式:1.$.each( collection, callback(indexInArray, valueOfElement) )$.each()函数和$(se ...

  4. Shader_ShaderForge_NGUI_流光&波纹&消融

    Shader篇 总结:总算解决了NGUI中Shader不能实时更改的问题,原来NGUI中的Texture组件提供了OnRender代码示例如下 /*************************** ...

  5. StringBuilder and StringBuffer

    StringBuilder sb = new StringBuilder(); /* 无参构造器 */ sb = new StringBuilder("abc"); /* 字符串构 ...

  6. 基于coridc算法的定点小数除法器的实现

    `timescale 1ns / 1ps /////////////////////////////////////////////////////////////////////////////// ...

  7. SpringBoot 项目打包后运行报 org.apache.ibatis.binding.BindingException

    今天把本地的一个SpringBoot项目打包扔到Linux服务器上,启动执行,接口一访问就报错,但是在本地Eclipse中启动执行不报错,错误如下: org.apache.ibatis.binding ...

  8. Metasploit Framework(4)信息收集

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 使用场景: Kali机器一台:192.168.163. ...

  9. 客户端ip获取蹲坑启示: 不要侥幸

    怎么获取一个客户端ip ? 我想这个问题,在网上遍地都是答案! 而且多半是像下面这样: public static String getIpAddress(HttpServletRequest req ...

  10. tomcat编译超过64k大小的jsp文件报错原因

    今天遇到一个问题,首先是在tomcat中间件上跑的web项目,一个jsp文件,因为代码行数实在是太多了,更新了几个版本之后编译报错了,页面打开都是报500的错误,500的报错,知道http协议返回码的 ...