• 【原创】程序员从SEO角度来开发网站之自己手写代码来实现URL重写


    开篇

    这几天我在忙着面试找工作,在网上针对性地投了好多简历,发现现在企业招聘对程序员要求已经不仅仅是单单的写代码了,可能是社会发展得比较快,人才市场竞争激烈,尤其是对计算机行业的人才需求始终得不到满足,很多公司开始明确要求程序员甚至是架构设计师之类的职位熟悉SEO的优先考虑,意思就是从此以后我们要转变思路开始从SEO角度方面来进行开发。所以,我打算利用课余时间帮博友们收集这类技术方面的东西,希望对大家以后开发有所帮助,更上一层楼,我会不定期的更新奥!废话,不罗嗦,直接切入主题!

    考虑:为什么说URL重写利于SEO呢?(我的理解就这么多,懂得的朋友帮忙补充一下,谢谢)

    带参数的URL由于内容可能是动态改变的,因此带参数的URL权重较低(想了解更多,自己网上找一些SEO资料学学)
    其实,URL还有很多好处,比如让你的网站地址看页面来更正规、隐藏真实路径、便于记忆等,建议大家好好学
     
    正题:如何进行URL重写?
    我自己是这样写的(非常简单,仅一小段代码搞定,推荐):
    首先,在你的网站根目录下新建Global.asax文件,找到Application_BeginRequest方法,(VS2005或者VS2008默认好像没有,自己添加),在该方法下添加如下代码即可:
     
    string url = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;//
    获得要访问资源的虚拟路径,哪怕访问一个服务器上不存在的页面
     Match mnc = Regex.Match(url, @"~/Page/NewsContent-(\d+)\.aspx");//将获取到的虚拟路径和自定义的路径进行匹配
            if(mnc.Success)
            {
                string newsid = mnc.Groups[1].Value;//获取新闻id值
                HttpContext.Current.RewritePath(@"~/Page/NewsContent.aspx?newsid="+newsid);//匹配成功,直接利用当前上下文的RewritePath方法,将该虚拟路径交由指定的路径处理,这样虽然页面显示“NewsContent-6.aspx”格式,但是实际上还是服务器处理的地址还是NewsContent.aspx?newsid=6,仍然不影响新闻id的传送
            }
     
    其它的方法:(网上很多,但是我没找到更简单的)
    最后,关于URL重写,在分享一个吧!呵呵,和本贴主题关系不大!
     
    关于URL重写(Rewrite)和Redirect区别
     
    Redirect是浏览器和服务器发生两次请求,也就是服务器命令客户端“去访问Test1.aspx”;Rewrite则是服务器内部的一个接管,在服务器内部告诉“Test1.aspx”“请帮我处理这个用户的请求”,浏览器和服务器只发生一次交互,浏览器不知道是Test1.aspx做的相应,浏览器只是向服务器发出一个请求。就像用户去上地国美买手机,缺货时的两种处理:让用户去东北旺国美(Redirect);从东北旺国美内部调货(Rewrite)。
    其实它俩的区别类似于Server.Transfer和Redirect的区别,不明白的朋友上网查一下。
     
     
     
     
  • 相关阅读:
    Xamarin和微软发起.NET基金会
    迷你 MVC
    编制进度计划、保存基准
    JQuery UI Layout Plug-in布局
    (转载)Log4Net 在多层项目中的使用小记
    Json.Net6.0
    EasyUI搭建前端框架
    using和yield return
    ExpandoObject,DynamicObject,DynamicMetaObject
    Net 4.0 之 Dynamic 动态类型
  • 原文地址:https://www.cnblogs.com/sybboy/p/2870463.html
Copyright © 2020-2023  润新知