URL重写简单使用说明

作者:动易网络 来源:本站原创 点击数: 发布时间:2009年03月05日

   首先跟大家介绍下什么是URL重写:URL重写是截取传入WEB请求并自动将请求重定向到其它URL的过程。比如浏览器发送请求“Item/1.aspx”,服务器自动将请求定向为“Item.aspx?id=1”。

那它有什么优点:

    可以缩短URL,隐藏实际记录经提高安全性;

    易于用户记忆和键入;

    易于被搜索引擎收录。

在SiteFactory2.5中新增加的这个URL重写的功能,可能大家在使用的时候并没有发现此功能,这个功能在后台操作界面中没有直接的体现出来,而是写在的程序里的。那么我们要怎么使用这个功能呢?接下来一步一步跟大家讲述下。

首先来看默认情况下访问一个内容页的RUL:



图1

我们看图1的URL结尾部分是:Item/60.aspx,这个URL实际访问的地址就是Item.aspx?id=60。下面两个是改过之后的RUL:


图2


图3

图2和图3所显示的URL都能和图1的URL访问的实际地址是一样的,全都是Item.aspx?id=60,都很好的隐藏了实际地址。

这里到底改变了什么,让URL改成这样呢?打开安装SiteFactory的根目录下的Config/UrlRewriteSettings.config文件,用工具打开它,我们可以看到如下内容:


图4

UrlRewriteSettings.config文件中有很多个 节点。里面已经提供了所有SiteFactory各个不同URL配置的类型了。比如: 节点中name属性为RewriteItemd节点,它是用于信息内容页的URL配置。具体每个 节点对应的配置如下:

Name属性名

配置的类型

RewriteItemd

信息内容页的URL配置

RewriteItemPage

信息内容页分页的URL配置

RewritePrint

打印页的URL配置

RewritePrintPage

打印页分页的URL配置

RewriteCategory

节点页的URL配置

RewriteIndexCategory

首页的URL配置

RewriteCategoryPage

节点分页的URL配置

RewriteSpecial

专题页的URL配置

RewriteSpecialPage

专题页分页的URL配置

RewriteSpecialCategory

专题类别的URL配置

RewriteSpecialCategoryPage

专题类别分页的URL配置

RewriteSpecialCategoryIndex

专题类别首页的URL配置

RewriteSpecialCategoryIndexPage

专题类别首页分页的URL配置

表1

我们再回到图4中,图中有两个红色框。

第一个框中内容为:

virtualUrl="^~/Item/(d+).aspx"   这个就是在浏览器中输入的URL。

第二个框中内容为:

destinati  就是实际访问的地址。


图2所呈现的URL只要修改virtualUrl属性值就可以了(注意整个文件只要修改 节点里的virtualUrl属性值就可以了,其它的请不要做任何修改 ),修改virtualUrl属性值也是有讲究的,注意不要改动Item 前面的“^~/”,还有“(d+),“^~/”可以获得应用程序的根目录, “(d+)” 可以获得访问实际地址的ID参数值,也就是信息ID。

图2所示的URL就是把virtualUrl属性值修改成:virtualUrl=" ^~/Content/(d+).aspx"。图3所示的URL:virtualUrl=" ^~/Content/(d+).Html"。

注意:改成图3所示的URL,还的配置下IIS,因为后缀名修改了,IIS对这个URL是不会交由ASP.NET的aspnet_isapi.dll处理的,所以程序部署到IIS的时候可能会出现404错误,但是你可以为你的站点添加一个通配符,添加扩展名的映射:


可执行文件:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll

请求路径:*

名称:随意


详细以IIS7为例子:


图5

然后双击"处理程序映射":


图6

然后再在IIS7中”添加通配符映射”:


图7

点击”确定”:


图8

点击”是”:


图9

这样你的站点的URL重写就配置好了。