您现在的位置: 动易技术中心 >> 动易开发文档 >> SiteFactory二次开发文挡 >> Config相关指南 >> 正文
动易SiteFactory的自定义URL重写功能

    URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是“www.xxx.com/item/1.aspx”,那么它可以被重写成 “www.xxx.com/item.aspx?ID=1”这样的URL,这样的网址可以更好的被网站所阅读和索引收录,通常人们称呼为伪静态。

    重写URL是非常有用的一个功能,因为它可以让你提高搜索引擎阅读和索引你的网站的能力;而且在你改变了自己的网站结构后,无需要求用户修改他们的书签,无需其他网站修改它们的友情链接;它还可以提高你的网站的安全性;而且通常会让你的网站更加便于使用和更专业。

    动易SiteFactory中默认已经自带了此功能而不需要服务器安装组件,例如/item/1.aspx和/Category_1/index.aspx这样的URL都是一个伪静态的URL,他们实际的URL是/item.aspx?id=1和Category.aspx?id=1

长久以来,我都以为SiteFactory此功能是固化于组件之中,通过研究发现,我们不仅可以修改系统的URL规则,更能把系统的一些动态URL静态化!

   下面我通过修改文章作者和来源的URL来演示

    /Common/ShowAuthor.aspx?authorname=%e4%bd%9c%e8%80%85    作者的URL

    /Common/ShowCopyFrom.aspx?copyfrom=%e6%9d%a5%e6%ba%90    来源的URL

    现在我们就通过SiteFactory的伪静态功能来将URL修改为:

    /Author/%e4%bd%9c%e8%80%85.aspx        作者的URL

    /CopyFrom/%e6%9d%a5%e6%ba%90.aspx        来源的URL

    第一步,我们打开程序根目录下载Config文件夹,找到UrlRewriteSettings.config文件

    第二步,添加一个新的规则,

           <add name="RewriteShowAuthor" virtualUrl="^~/Author/(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Common/ShowAuthor.aspx?authorname=$1" ignoreCase="true" />
              <add name="RewriteShowCopyFrom" virtualUrl="^~/CopyFrom/(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Common/ShowCopyFrom.aspx?copyfrom=$1" ignoreCase="true" />


    这个规则是通过正则来取得一个URL的某一段字符串,然后赋予动态的URL,(.*)是通配所有字符,而$1是第一个位置的字符串,如果有多个,用$1、$2、$3来区别
    然后保存文件,这个时候我们访问/Author/%e4%bd%9c%e8%80%85.aspx这个URL的时候,已经能正常解析了

    第三步,修改模板,虽然已经能正常访问了,但是我们模板中的链接依然是动态的,所以我们需要修改一下,
    找到作者链接:

{PE.SiteConfig.ApplicationPath/}Common/ShowAuthor.aspx?authorname={PE.Field id="cone" fieldname="LinkAuthor" /}

    修改为:

{PE.SiteConfig.ApplicationPath/}Author/{PE.Field id="cone" fieldname="LinkAuthor" /}.aspx

    找到来源链接:
{PE.SiteConfig.ApplicationPath/}Common/ShowCopyFrom.aspx?copyfrom={PE.Field id="cone" fieldname="LinkCopyFrom" /}
    修改为:
{PE.SiteConfig.ApplicationPath/}CopyFrom/{PE.Field id="cone" fieldname="LinkCopyFrom" /}.aspx

    然后保存模板,前台看看效果吧!

    演示地址:http://rs.hx008.cn/Item/7.aspx

    http://rs.hx008.cn/Author/%e4%bd%9c%e8%80%85.aspx

    http://rs.hx008.cn/CopyFrom/%e6%9d%a5%e6%ba%90.aspx

    灵活运用,搜索结果静态化:http://rs.hx008.cn/search_2_1_1_1_%E6%B5%8B%E8%AF%95_%E6%B5%8B%E8%AF%95__%E4%BD%9C%E8%80%85_admin___0_0_2008-01-01_2009-01-01.aspx

 

 

 

    论坛地址:http://bbs.powereasy.net/dispbbs.asp?boardID=73&ID=385933&page=1

文章录入:jzjh2008    责任编辑:丑小鬼 
  • 上一个文章: 没有了

  • 下一个文章: 没有了
  • 关闭窗口
    软件产品
    SiteFactory™ 内容管理系统
    SiteFactory™ 网上商店系统
    SiteWeaver™ 内容管理系统
    SiteWeaver™ 网上商店系统
    SiteWeaver™ 企业门户网站系统
    SiteWeaver™ 教育门户网站系统
    SiteWeaver™ 政府门户网站系统
    SiteWeaver™ 行业门户网站系统
    平台产品
    企业服务
    行业解决方案
    联系我们 | 关于动易 | 网站地图 | 相关证书 | 合作伙伴 | 招贤纳士 | 法律条款 | 隐私权声明
    安全上网网上报警
    动易网络科技有限公司版权所有 © 2003-  粤ICP备05004015号
    公安备案编号:4406063010734 本站基于 PowerEasy® SiteWeaver™ 制作