用ISAPI_Rewrite让IIS也支持如Apache下.htaccess的URL重写
前些日子用Linux做服务器写了一些东西,发现Apache下的.htaccess真是个好东西!不仅能实现URL真重写,还能实现假重写。真重写可以有效降低代码量与服务器资源消耗量,伪重写可以有效减少服务器的静态文件体积,节约了空间,真是不错!其实htaccess的功能远不只如此。
言归正传,那么IIS下能不能也实现htaccess这样激动人心的功能呢?ASP.NET2.0这个东东不是服务器级的,不能胜任重写这个重任,那么只有交给ISAPI了,在网上搜索,还居然真有公司(组织)开发了这种东东!不可思议!
官方地址是:http://www.isapirewrite.com/
下载到其中有一个文件Rewrite.dll就是我们的ISAPI了,在IIS里面添加这个dll然后重起就OK!!!Fantastic!!!
httpd.ini就相当于.htaccess了!
现在的版本是2.9版,技术文档看这里:中文手册 英文手册(英文写得比较好,建议看英文的)
具体怎么用就不多说了,手册
下面是我写的一个超简单例子:
1.httpd.ini
[ISAPI_Rewrite]
RewriteRule ^(.*)/([a-z0-9\-]+\.html)$ $1/default2.asp\?filename=$2
2.default2.asp
<%=Request.QueryString%>
3,然后你进入浏览器输入"http://localhost/abcd123456.html"你会看到显示了这个网页,后台却并没有生成这个页!
filename=abcd123456.html
这个技术就是WordPress所应用的URL伪重写技术,IIS中如果本身支持该技术,估计Z-Blog会集成该技术。
应用了该技术Z-BLOG哪里还需要重建?需要的时候只需要改动一下httpd.ini就可以了
总之,ISAPI_Rewrite和htaccess都是很值得学习与掌握的技术,尤其是htaccess,我们应该努力应用它,发觉他的潜力。
相关推荐
-
Nginx服务器下使用rewrite重写url以实现伪静态的示例
经过网上查阅和测试,发现Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用.比如在Apache中这样写规则 rewrite ^/([0-9]{5}).html$ /viewthread.php?tid=$1 last; 而在Nginx中写成这样写是无法启动的,解决的办法是加上两个双引号: rewrite "^/([0-9]{5}).html$" /viewthread.php?tid=$1 last; 同时将RewriteRule为Rewrit
-
AspNetPager分页控件UrlRewritePattern参数设置的重写代码
复制代码 代码如下: <AspNet:AspNetPager ID="AspPages" runat="server" CustomInfoHTML="第%CurrentPageIndex%/%PageCount%页,每页%PageSize%条,共%RecordCount%条" FirstPageText="首页" LastPageText="尾页"
-
asp.net用url重写URLReWriter实现任意二级域名第1/2页
好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑. 来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题. 很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了? 第一步:在浏览器键入了一个地址,比如http://love.kerry.com,点回车后,都发生了什么? 为了把问题简单化,我来这样解释: 第二步:首先,键入的地址被解析,最终来
-
IIS下配置页面重写(配合插件url-rewrite2去除页面后缀名)的实现方法
本来一直想了解浏览器地址栏中url后缀名如何去除,今天正好抽空折腾一下. 1. URL重写组件url-rewrite2 微软官方下载地址:http://www.iis.net/downloads/microsoft/url-rewrite 也可直接点击下载:url-rewrite.zip 2. 暂停IIS,安装组件 在安装组件之前,先暂停IIS. 目前(2017/10/30)该组件安装集成于Microsoft Web Platform Installer(下文简称Platform Install
-
iis7配置zend framework的地址重写规则[url_rewrite]
一.从以下地址下载 IIS7 的 URL 重写模块并安装. http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691 二.打开iis信息管理器,打开url重写--添加规则--确定--在请求的URL下选择与模式不匹配--在模式中输入:^(([\w]+/?)+)(?!\.html|\.js|\.css|\.gif|\.png|.jpg|.ico|\.txt)$--在操作属性下输入:zfdemo/public/index.php/
-
asp.net用url重写URLReWriter实现任意二级域名 新
一般用百度搜的朋友都是对这个不了解但又急需要用的,我想,再多的语言也比不过一句代码.于是我把今天帮朋友时候写的一个小例子传了上来.这个小例子的目的是实现对任意url的重写(但不包括二级域名的,有需要二级域名的也可以先了解下url重写的概念). 这个小项目的制作过程如下 1.需要对诸如http://jb51.net/viewnews/2009/3/2.html的url进行重写.将其重写为http://jb51.net/viewnews.aspx?id=2&year=2009&month=3
-
asp.net下用url重写URLReWriter实现任意二级域名的方法第1/2页
摘要:解释了url重写的相关知识.用asp.net实现二级域名重写的方法.对重写的一些问题做了汇总解答.提供了几段示例代码. 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑. 来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?第一步:在浏览器键入了一个地址,比如http://lov
-
url重写IIRF(Ionic's Isapi Rewrite Filter)手册第1/2页
说明 IIRF与ISAPI_Rewrite的规划区别只在于IIRF不需要使用转义字符\,而ISAPI_Rewrite则需要使用转义字符\. 介绍 IIRF是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio2005或Visual C++ 2005 Express重新编译)开发.它可以运行在IIS5.0+,支持ASP,ASP.NET,PHP等许多格式.相对比ASP.NET2.0自带的URL重写,具有更好的性能和许多我们所需要特性,重要的一点
-
用ISAPI_Rewrite让IIS也支持如Apache下.htaccess的URL重写
前些日子用Linux做服务器写了一些东西,发现Apache下的.htaccess真是个好东西!不仅能实现URL真重写,还能实现假重写.真重写可以有效降低代码量与服务器资源消耗量,伪重写可以有效减少服务器的静态文件体积,节约了空间,真是不错!其实htaccess的功能远不只如此. 言归正传,那么IIS下能不能也实现htaccess这样激动人心的功能呢?ASP.NET2.0这个东东不是服务器级的,不能胜任重写这个重任,那么只有交给ISAPI了,在网上搜索,还居然真有公司(组织)开发了这种东东!不可思
-
apache下.htaccess的功能及写法
- .htaccess 文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限制.管理员可以通过Apache的AllowOverride指令来设置. - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令. - .htaccess必须以ASCII模式上传,最好将其权限设置为644. 错误文档的定位 常用的客户端请求错误返回代码: 401 Authori
-
IIS支持URL重写指南 推荐
IIS虚拟主机支持.htaccess实现URL重写 到这里下载合适的版本 http://www.helicontech.com/download.htm 下载手动安装包ISAPI_Rewrite3_0042_manual.exe 需要手工解压到服务器的一个目录中. 打开IIS管理器 -> 选择网站属性 -> ISAPI筛选器 -> 在名称中输入ISAPI_Rewrite 可执行文件选择刚才解压后的文件ISAPI_Rewrite.dll -> 点确定-> 再点确定 关闭属性对话
-
linux下apache开启url重写的方法(详细说明)
Linux开启url重写的方法: 1.打开 apache 里httpd.conf(通常是在/etc/httpd/conf目录里) 2.找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的# 3.找到 AllowOverride None 改成 AllowOverride All , 有两个全部改掉 注:AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写.Apache 服务器要读每个网站下目录下的 .
-
让你的IIS服务器支持JSP
一.软件简介 本文主要讲述如何用IIS+Tomcat3.1支持JSP及servlet环境.正常情况下IIS不支持servlet及JSP环境.我们通过使用一个IIS到Tomcat重定向的插件(plugin)使用IIS能够将所有的servlet及JSP请求发送到Tomcat执行以实现servlet及JSP环境. 二.文档定义 "tomcat_home"--假定为你安装tomcat的目录. 三.软件环境 Microsoft Windows NT 4.0 SP6a IIS 4.0 Tomcat
-
win2012中让IIS同时支持多版本ASP.NET 3.5/4.0/4.5的方法
Windows 2012系统天然就支持ASP.NET 4.5框架,就像Windows 2008系统默认支持ASP.NET 3.5一样.我们也可以在2012系统中安装3.5框架,让IIS同时支持ASP.NET 2.0/3.5/4.0/4.5多个版本. 注意,这里提到的四个.NET框架版本,其实已经合并为两个.ASP.NET 3.5是.NET 2.0的升级版本,ASP.NET 4.5是.NET 4.0的升级版本.也就是说,当我们需要2.0版本时,把.NET框架调整到3.5即可:同理,当我们需要4.0
-
apache开启.htaccess及.htaccess的使用方法
今天本地调试PHP程序,用到了.htaccess,而默认配置里面开启.htaccess,在网上找到了开启.htaccess的可行方法,供朋友们借鉴.(开启的我他的方法不行,查找了一下AllowOverride None全部的都给换成AllowOverride All就了,原因不明,O(∩_∩)O~ 记得修改完httpd.conf以后一定要重启下apache才的哦~ ) 1 . 如何让的本地APACHE器.htaccess 如何让的本地APACHE器".htaccess"呢?其实只要简朴
-
Apache下通过shell脚本提交网站404死链的方法
网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名. 百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链.404页面)进行提交,可快速删除死链,帮助网站SEO优化.在提交死链的文件中逐个手动填写死链的话太麻烦,工作中我们提倡复杂自动化,所以本文我们一起交流分享Apache服务中通过shell脚本整理网站死链,便于我们提交. . 1.配置Apache记录搜索引擎 Apache是目前网站建设最为主
-
Apache使用 .htaccess 来实现强制https访问的方法
我们可以用Apache的.htaccess的重定向规则来实现http强制跳转到https访问网站.( 重要提示:必须将代码放到.htaccess文件内容的最前面,以保证重定向优先权.) 代码如下: RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://xpsss.com/$1 [R,L] 或者 RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteR
-
Apache下分析ab性能测试结果
一直以来我都是用Loadrunner去做性能测试.Loadrunner实际上是一个很重的性能测试工具.他的功能很全面,是一把很好的牛刀. 如果我们只是需要对一个页面做简单的性能测试,使用Loadruner这把牛刀就不是一个很好的选择了. 所以就找了把小刀--ab来试试.这把小刀真的是轻巧又锋利,在这里就记录一下对ab测试过程中的一些自己的理解,供大家参考. 我们就拿百度首页来祭刀吧.首先你得有一把刀,也就是安装好Apache,网上教程一大堆就不复述了,本文使用MacBook自带的ab命令进行测试
随机推荐
- 简单说明Java的Struts框架中merge标签的使用方法
- php连接odbc数据源并保存与查询数据的方法
- apache Php5配置方法
- Ajax 验证用户输入的验证码是否与随机生成的一致
- java-servlet-转发AND路径(详解)
- mybatis中注解映射SQL示例代码
- laravel中的错误与日志用法详解
- 基于mysql事务、视图、存储过程、触发器的应用分析
- linux上TCP connection timeout问题解决办法
- jquery中动态效果小结
- JavaScript基础知识之数据类型
- java中关于文本文件的读写方法实例总结
- 用ssh跑pppd (最简单的linux vpn )
- 解决dotproject的两个小bug的方法
- C语言中编写可变参数函数
- Android camera2 判断相机功能是否可控的实例
- Android 调用notifyDataSetChanged方法失败解决办法
- 二层交换机,三层交换机,四层交换机的区别
- 深入剖析Express cookie-parser中间件实现示例
- vue渲染时闪烁{{}}的问题及解决方法