在云那方

首页 新随笔 联系 订阅 管理

下载:Rewrite.rar

 

解压后有httpd.ini、httpd.parse.errors、mtbnotif.dll、Rewrite.dll四个文件

我们要用到的只有Rewrite.dll和httpd.ini两个文件

 

选择要添加的虚拟目录,点击鼠标右键,选择“属性”,点击“ISAPI筛先器”,点击“添加”,

把Rewirte.dll添加到IIS里面,随便起个名字。


httpd.ini文件里面编写URL重写规则。

 

 

实现步骤:


第一步:下载ISAPI_Rewrite.rar,将Rewrite文件夹和httpd.ini直接放在项目根目录下面。


第二步:IIS配置,筛选Rewrite文件夹里面的Rewrite.dll文件,如图:



第三步:在httpd.ini文件,用正则配置url重写路径。



[ISAPI_Rewrite]

#
3600 = 1 hour
CacheClockRate
3600

RepeatLimit
32

#简单页面重写
RewriteRule
/News/([-\d]+)/(\d+)\.html /News_Detail\.aspx\?c_id=$1&n_id=$2
RewriteRule
/News/([-\d]+).html /News_List\.aspx\?c_id=$1


#二级域名重写配置
RewriteCond Host: (
?!www)([^.]+).pifazhinan.cn
RewriteRule
^/  /Shop/Index\.aspx\?uname=$1 [I]

RewriteCond Host: (
?!www)([^.]+).pifazhinan.cn
RewriteRule
^/Products/(\d+)\.html /Shop/product_detail\.aspx\?uname=$1&p_id=$2 [I]



这样,页面重写已经实现了,但是在被重写的页面提交表单时候,提交后重写效果会失效,直接跳转到原有的页面。这时候就需要用到微软提供的ActionlessForm.dll。


第四步:引用ActionlessForm.dll,将重写页面的<form
runat="server"></form>表单代码,改成:


<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>

<skm:Form id="Form1" method="post" runat="server"></skm:Form>
posted on 2012-07-12 16:57  Rich.T  阅读(423)  评论(0编辑  收藏  举报