重写就是把传入
Web
请重定向到其他
URL
的过程。
我们知道在Apache中有mod_rewrite来实现URL的重写功能(URL
Rewrite),然而IIS并没有自带这个功能,因此我们就需要使用第三方组件来实现。其实目前有好几种IIS下的Rewirte组件,都是通过ISAPI筛选器来加载然后实现URL重写的。
用得比较广泛的一个是ISAPI
Rewrite,支持用户自定义httpd.ini文件,只要放在站点根目录下就能生效。这个大大方便了用户自己修改URL重写规则。
ISAPI
Rewrite是一个基于正则表达式的强大的URL处理引擎,他使用起来基本上就像Apache的mod_rewrite,但是他是专门为微软的Internet
Information
Server
(IIS)设计的。
对于集思虚拟主机用户,如果需要使用URL
Rewrite的功能,只需要在网站根目录中建立httpd.ini的文件,httpd.ini就是一个文本文件,里面包含了URL
Rewrite的URL
Rewrite规则,常规格式如下:
[ISAPI_Rewrite]
RewriteRule
^/(.*)
/default.php
举例说明:下面是ASP网站深圳虚拟主机伪静态设置方法部分的httpd.ini规则,有需要的可以参考。
#3600
=
1
hour
CacheClockRate
3600
RepeatLimit
32
RewriteCond
%{HTTP:Host}
^by7188\.com$
RewriteRule(.*)http\://www\.by7188\.com$1
[NC,R=301]
RewriteRule^/index\.html$
/index\.asp
RewriteRule
^/news_([0-9]*)\.html$
/news\.asp\?id=$1
RewriteRule
^/zixun_p([0-9]*)_s([0-9]*)_k(.*)\.html$/news\.asp\?page=$1&sortid=&2&key_search=$3
网站301重定向有不少方法,小编觉着还是这种方式最简单,在网上看到一种加代码的方法也很简单,不过,小编用加代码的方法后,带www和不带www的状态都变成301了,不是很清楚什么原因,小编没用这个方法,就没再研究。另外,经测试深圳虚拟主机伪静态配置不分语言(asp/php/.net),只分系统windows和apache
简单的说, 就是我开了个web服务器, 让别人来访问, 但是我又不想让别人知道具体的路径或者文件名, 例如我想让别人访问这个页面, 但是我又不想让别人知道是在执行 test.asp页面, 因此引进了url rewrite技术
可以将 路径转换成
或者
或者
或者
这样可以做到隐藏路径或者隐藏参数的作用, 使用html结尾的路径还可以起到优化SEO的作用..
虽然你服务器上并没有test-22.html, detial.asp ...但是还是可以通过上面按照某一规则格式化过的路径来访问页面, 访问的时候服务器会按照制定的规则对url进行转换 :)
专业的解释网上很多, 自己去找哈
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)