首先跟大家介绍下什么是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文件中有很多个<add>节点。里面已经提供了所有SiteFactory各个不同URL配置的类型了。比如:<add>节点中name属性为RewriteItemd节点,它是用于信息内容页的URL配置。具体每个<add>节点对应的配置如下:
表1 我们再回到图4中,图中有两个红色框。 第一个框中内容为: virtualUrl="^~/Item/(\d+).aspx" 这个就是在浏览器中输入的URL。 第二个框中内容为: destinati 就是实际访问的地址。
图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:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 请求路径:* 名称:随意 详细以IIS7为例子: 图5 然后双击"处理程序映射": 图6 然后再在IIS7中”添加通配符映射”: 图7 点击”确定”: 图8 点击”是”: 图9 这样你的站点的URL重写就配置好了。 |
|