IIS 伪静态配置(安装ISAPI
第一:首先到官方网站下载ISAPI_Rewrite
我的机子是32位的就下32位免费版的,链接地址如下:
可以选择不同版本:
第二:安装
安装ISAPI_Rewrite3,一路next,默认安装到了服务器的C:\ISAPI_Rewrite3(目录自由设置,但需保证有iis浏览的权限),接着打开IIS-web服务扩张-右键-添加一个新的web服务扩展,扩展名字写ISAPI_Rewrite,要求文件C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll,并且设置为允许。
配置IIS
打开iis,右键你的站点属性--ISAPI 筛选器--添加--筛选器名称是ISAPI_Rewrite3 --可执行文件就是ISAPI_Rewrite.dll的路径,比如C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll
给用户网站主机头加上“network service”的读权限,其实就是该用户网站的文件夹的网络读写权限。
安装IIS Rewrite3后,会在全局的网站下 “iis> 网站 》属性> isapi 筛选器”选项里面,删除 isapi_rewrite3这个ISAPI筛选器,必须去掉这个isapi_rewrite3筛选器,否则其它的网站(除首页外)的页面无法访问!
最后重启iis
当然你可以把ISAPI_Rewrite3目录放入站点根目录下,但记得要给一个users和"network service"的读权限。
注意:有些服务器或者vps有做权限的,安装后httpd.conf可能只有everyone和system的权限,如果修改不了文件就添加一个administrator的权限
注意:如果服务器上网站较多,而仅仅要设置其中的一个,重新打开IIS-网站-右键属性-ISAPI筛选器,把里面的ISAPI_Rewrite删除,到需要设置防盗链的网站-右键属性-ISAPI筛选器-添加一个新的筛选,筛选名称ISAPI_Rewrite,可执行文件C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll。这样就仅对一个网站设置伪静态了。
第三步:设置
开始菜单-所有程序-Helicon-ISAPI_Rewrite3-ISAPI_Rewrite Manager打开,点击edit加入如下规则:
# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.64
#伪Html部份
RewriteRule /test-(\d*)-(\d*).html /test.aspx\?id=$1&aa=$2
(写法请参照正则表达式)
因为使用的是免费版,所以只能对整个站点进行设置,这个设置将对你服务器上的所有网站生效,如果是正式版的话,将会对所有不同的网站进行单独的设置。
第四步,测试:
原test.aspx的代码为:
<form method="post" runat="server">
id号为:<%=id%>,name号为<%=name%>
</form>
test.aspx.cs的代码为:
protected int id = 0; protected int name = 0; private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { try { id = int.Parse(Request.QueryString["id"].ToString()); } catch { id = 0; } try { name = int.Parse(Request.QueryString["name"].ToString()); } catch { name = 0; } } }
在地址栏输入:
网页显示结果为:id号为:4,,name为1000
测试通过。
----------------------------------------------------------------------------
破解
一、安装:
1、从官网下载完全版ISAPI_Rewrite3()并安装;
2、将Rewrite破解文件夹中的ISAPI_Rewrite.dll文件覆盖到程序安装目录下替换即可;
3、打开安装目录下的httpd.conf文件,在里面输入以下内容并保存,这样就没有使用天数的限制了;
RegistrationName= wlqcwin
RegistrationCode= 2EAD-35GH-66NN-ZYBA
4、安装好后记得给ISAPI_Rewrite3软件安装目录network service的读权限,否则会出现无法加载ISAPI_Rewrite的错误。
二、测试:
1、在某个单独网站(如:localhost)新建.htaccess文件,并在文件中写上以下规则:
RewriteEngine on
RewriteBase /
RewriteRule ^get-(.*).html /get.asp?id=$1
#说明:RewriteEngin on表示启用重写功能;RewriteBase / 表示重写的路径是从网站根目录开始。
2、在localhost下新建get.asp文件,文件内容以下:
<% response.write("get_id=" & request.querystring("id")) %>
3、在浏览器中分别输入 和 ?id=123 ; 如果结果是一样的,则表明重写成功。
-------------------------------------------------------------------------------------------------------------------------------
先安装官方文件,再用复盖补丁文件夹下所有文件替换。替换时提示拒绝访问则需要先停止iisadmin。
开始,运行
net stop /y iisadmin
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69271.html
- 上一篇:如何改写WebApi部分默认规则
- 下一篇:c#socket编程基础