urlrewrite 怎么使用啊?
有具体的代码让我瞧瞧吗
有具体的代码让我瞧瞧吗
解决方案 »
- 能否用HTML,JS实现记事本功能?
- 这里怎么才能升级?
- 树型控件的问题!!!!
- 上次没给分是我的错。再次求助---怎么在获取类中回传的sqldatareader
- 如何关联这样的两张表?
- 请问本月第一天,应该怎么取?还有本月的最后一天怎么取?
- 关于在一个解决方案下建立多个项目工程包含WINFORM和WEB,而移出虚拟目录后WEB目录报路径出错
- 自己写的虚拟主机管理系统..和大家分享
- 想得到关于开发OASYSTEM的建议.
- 想写一个自定义控件,里面包含一个button控件,一个text控件,和一个JS文件。如果做到button事件调用js文件后,能传到text控件?
- 用户控件HTML代码中变量的使用问题!
- .net如何用二进制形式保存文件数据到数据库中?
是用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,无法访问)。
ISAPI_Rewrite的下载地址