由于项目用到了ISAPI_Rewrite,为了响应政府号召,粗略的学习了一下网上的相关文章,其实也没有什么难的,一种工具而已。不过关于正则的部分并不是我所编写的,也谈不上什么体会,值得注意的一些东西还是留下为好。
原理:其实URL重写并不如何高深,当服务器接受到一个http请求,请求访问其上的文件时,先通过Rewrite对该地址进行重写,然后载入重写后的地址,进行解析。这样当你访问时,并没有直接到达这个文件,而是这个地址,在服务器那里被换掉了,而这个换掉的过程,对客户端而言是隐蔽的,不可知的。(引用自http://www.auyou.com/myweb/ctqx/wdrjinfo.asp?c_Uid=szjun&auto_id=76561)
比如,有个实际文件名为abc.aspx,而我们通过规则把它转义为abc.html(当然,可以附带自定义规则的参数,如原abc.aspx?id=1,转义为abc-1.html),当我们地址栏输入abc.html即可通过服务器转解析到abc.aspx上,起到偷梁换柱的效果。
至于这样做的理由,不言而喻,都是为了SEO优化,让搜索引擎更顺畅的抓取网站内容。
配置过程:
- 下载ISAPI_Rewrite.ISAPI_Rewrite
- 对筛选对应规则进行编写,即httpd.ini 文件(在此,编写规则不做讨论)
- 打开Internet 信息服务,右键,web站点属性,点击ISAPI筛选器选项卡.添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定.
- 重启iis服务器,开始->运行->cmd (以下列出相关操作命令)
(引自:http://hi.baidu.com/quanyan/blog/item/0b6499c31c0f6656b319a8f1.html)
iisreset /RESTART 停止后启动
iisreset /START 启动IIS (如果停止)
iisreset /STOP 停止IIS (如果启动)
iisreset /REBOOT 重启电脑
iisreset /REBOOTonERROR 如果停止IIS失败重启电脑
iisreset /NOFORCE 不用强迫IIS停止
iisreset /TIMEOUT:X 在X秒后,IIS被强制停止,除非 /NOFORCE 参数给出.
5. 最后,输入解析后地址,测试结果。