网站重写url

以前觉得重写url像神一样,什么静态伪静态一大堆概念,搞的偶很是崇拜

我呢参考博客园某老兄文章,自己也作一个重写

1:去网站下载一个组件 这里:http://www.urlrewriting.net/155/de/downloads.html  并且引入你的项目

2:在web.config中注册相关组件和配置相关内容

<configSections>
  <section name="urlrewritingnet"
     requirePermission ="false"
     type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"  />
 </configSections>
 <urlrewritingnet
   rewriteOnlyVirtualUrls="true"
   contextItemsPrefix="QueryString"
   defaultPage = "Default.aspx"
   defaultProvider="RegEx"
   xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
  <rewrites>
   <!--更多重写规则 这就是我用的重写规则一会看案例-->
  
   <add name="RewritePhoto2" virtualUrl="^~/product/(\d+).html"
     rewriteUrlParameter="ExcludeFromClientQueryString"
     destinationUrl="~/post.aspx?pid=$1"
     ignoreCase="true" />
  </rewrites>
 </urlrewritingnet>

   <!--注册httpModules-->

<httpModules>
   <add name="UrlRewriteModule"
      type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
  </httpModules>

3:去IIS 下设置 步骤如下:

我要重写的形式是.html形式的

IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加
可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
扩展名:.html
动作:限制为 GET,HEAD,POST,DEBUG
脚本引擎:选中
确认文件是否存在:不选

4:设置成功以后看案例

www.yootiao.cn  里面的景点页面和产品页面都是重写过的!

最后欢迎交流。

 后记:这回是第二次用

总结如下:重写规则,若是针对同一页面,有的连接没有分页参数,有的有 ,这个时候必须让参数多的在上,少的在下,教训之一,关于分页,我的分页组件本身提供自定义链接,所以直接赋值传到控件里就可以啦,然后分页控件会匹配参数,教训之二,关于postback,这个组件以及解决,但是我在回帖成功的时候,又重定向了一下,清掉缓存,没改链接,造成请求错误,也就是这个组件支持postback不用再做其他开发,教训之三。

 3个问题解决了3天,查资料没有结果,不停的调试,短暂的放弃,最后搞定....

posted @ 2009-05-07 17:31  bluenan  阅读(423)  评论(0编辑  收藏  举报