URlRewriter组件下载及使用说明

下载地址:http://www.chx99.cn/file/URLRewriter.rar
在web.config添加如下配置节:

<httpHandlers>    <add verb="*" path="*.aspx"
        type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> </httpHandlers>

然后按照如下格式,在wen.config中写入要重写的url的规则:

<RewriterConfig>    <Rules>      <RewriterRule>             <LookFor>~/Products/Default\.aspx</LookFor>             <SendTo>~/ListCategories.aspx</SendTo>       </RewriterRule>       <RewriterRule>          <LookFor>~/Products/Beverages_(\d{1,4})\.aspx</LookFor>          <SendTo>~/ListProductsByCategory.aspx?CategoryID=$1</SendTo>       </RewriterRule>       <RewriterRule>    </Rules> </RewriterConfig>

上例中得表达式一个是不带参数的重写,一个是带参数的,

带参数的~/Products/Beverages_(\d{1,4})\.aspx中 _(\d{1,4}) 是规则表达式,只要符合这个规则的网页,

会转发到下边的~/ListProductsByCategory.aspx?CategoryID=$1

这个网址其中,$1会接收到 (\d{1,4}) 规则表达式相对应的参数的具体值。从而达到转发的目的。

首先、我们要用到URL重写组件:URLRewriter.rar

其次、需要在WEB.CONFIG里面进行些设置:

1、在Web.Config的<system.web>和</system.web>添加以下节点:

 
<httpHandlers>       <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />       <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> </httpHandlers>
 

2、在Web.Config的<configuration>和</configuration>添加以下节点:

 
<configSections>     <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />   </configSections>
  <RewriterConfig>     <Rules>       <RewriterRule>         <LookFor>~/d(\d+)\.html</LookFor>         <SendTo>~/Default.aspx?MyID=$1</SendTo>       </RewriterRule>     </Rules>   </RewriterConfig>
 

设置完以上两个步骤,就基本可以运行了,其中<RewriterRule/>标签里面就是重写的一个模块,<LookFor/>里面的是重写后的地址,而<SendTo/>则是原地址。

 

3、配置IIS解析.html文件 IIS配置:网站->属性->虚拟目录->配置(G)...->映射->通配符应用程序映射->添加 可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll 扩展名为:.html

确认文件是否存在:不选.

4、以上配置好之后就可以通过以下方式来访问了

例如用户输入 hostname/d11.html,服务器会把他重写为http://hostname/default.aspx?id=11。换句话说用户输入http://hostname/d11.html,实际访问的是http://hostname/default.aspx?id=11

 

.NET完美实现伪静态页面,URLRewriter.dll下载 2009-07-02 11:00:55
当然先去下载组件: 下载MS的URLRewriter.dll,放到你的web程序的bin下 下载地址1:http://www.sinoec.cn/fordown/URLRewriter.dll 下载地址2:download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
然后配置web.config 文件 1.在<configuration>中添加 <configSections>

<section name="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /> </configSections>

用于指定配置节"RewriterConfig"的处理程序类的名称为”URLRewriter.Config.RewriterConfigSerializer

SectionHandler”,该类存在于bin目录下的URLRewriter .dll文件中

2.配置url重写规则在<configuration>中添加

<RewriterConfig>

<Rules> <RewriterRule> <LookFor>~/d(\d+)\.aspx</LookFor> <SendTo>~/default.aspx?id=$1</SendTo> </RewriterRule> </Rules> </RewriterConfig>

其中<RewriterRule>可以配置多个

3.在<system.web>中添加多个文章中都这样写道:

<httpHandlers>

<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> </httpHandlers>

但是添加后提示不正确,换成

<addtype="URLRewriter.ModuleRewriter, URLRewriter"name="ModuleRewriter"/> 

后正确。。。。。不知何解:然后去msdn上查<httpHandlers>的相关信息,得到

----------------------------------------------------------

要求

Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0

.NET Framework 版本 1.0、1.1 或 2.0

Microsoft Visual Studio 2003 或 Visual Studio 2005

-----------------------------------------------------

如果是生成的静态html,那么需要在iis中设置, 右键你的虚拟目录,属性,主目录,配置,

映射,添加一个.html的映射,配置为和aspx一样,检测文件存在不打钩。

到此配置完成vs2008+.net framework 2.0 通过

2009-7-2

关于窗体回发问题,显示正式后缀名

一个方法就是:

加入窗体回传保持的组件: 在原来你下载的项目里找到 ActionlessForm.dll 放到你的项目 bin 目录下。

然后在你的这个页

posted @ 2013-07-10 21:26  程序有Bug  阅读(735)  评论(0编辑  收藏  举报