urlrewrite 怎么使用啊?
有具体的代码让我瞧瞧吗

解决方案 »

  1.   

    没什么,很简单。在配置文件里需要配置下就是。你可以去网上找找,好像51aspx里曾经有。
      

  2.   

    本人从网上搜索到了一段代码
    是用ISAPI_Rewrite来实现的由于项目用到了ISAPI_Rewrite,为了响应政府号召,粗略的学习了一下网上的相关文章,其实也没有什么难的,一种工具而已。不过关于正则的部分并不是我所编写的,也谈不上什么体会,值得注意的一些东西还是留下为好。
          原理:其实URL重写并不如何高深,当服务器接受到一个http请求,请求访问其上的文件时,先通过Rewrite对该地址进行重写,然后载入重写后的地址,进行解析。这样当你访问时,并没有直接到达这个文件,而是这个地址,在服务器那里被换掉了,而这个换掉的过程,对客户端而言是隐蔽的,不可知的。
          比如,有个实际文件名为abc.aspx,而我们通过规则把它转义为abc.html(当然,可以附带自定义规则的参数,如原abc.aspx?id=1,转义为abc-1.html),当我们地址栏输入abc.html即可通过服务器转解析到abc.aspx上,起到偷梁换柱的效果。
           至于这样做的理由,不言而喻,都是为了SEO优化,让搜索引擎更顺畅的抓取网站内容。
            配置过程:
    1. 下载ISAPI_Rewrite.ISAPI_Rewrite 
    2.  对筛选对应规则进行编写,即httpd.ini 文件(见上面) 
    进入刚才安装ISAPI_Rewrite的文件夹里面,找到httpd.ini这个文件,然后在属性上去掉“只读”,然后这里有点难了,需要使用正则表达式来实现了,方法很多,我举个例子希望对大家有所帮助,比如我想要把www.xx.com/web/new.aspx?id=1 改成 www.xx.com/web/new/1.html这样的URL,需要增加一条正则表达式   RewriteRule ^(.*)/web/new/([0-9]+)\.html$ $1/web/new\.aspx\?id=$2 3.  打开Internet 信息服务,右键,web站点属性,点击ISAPI筛选器选项卡.添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定. 
    4.  重启iis服务器,开始->运行->cmd (以下列出相关操作命令) 
                 iisreset  /RESTART 停止后启动
            iisreset /START 启动IIS (如果停止)
            iisreset /STOP 停止IIS (如果启动)
            iisreset /REBOOT 重启电脑
            iisreset /REBOOTonERROR 如果停止IIS失败重启电脑
            iisreset /NOFORCE 不用强迫IIS停止
            iisreset /TIMEOUT:X 在X秒后,IIS被强制停止,除非 /NOFORCE 参数给出.   
    5. 最后,输入解析后地址,测试结果。
    还有在WIN2003里面使用方法,在IIS 6.0里面一直提示“未加载”,后来查了又查,原来是文件的权限问题。IIS 6.0 ISAPI_Rewrite 是在Service帐号下运行的,将数据文件的读写权限给予Service 帐号后,ISAPI_Rewrite 终于可以正常运行了。
    设置软件安装目录的IIS_WGP组的读写权限(重要,如果不设置安装完后你的网站就会直接Service Unavailable,无法访问)。
      

  3.   

    http://download.csdn.net/source/1222359
    ISAPI_Rewrite的下载地址