在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>添加以下节点:
2、在Web.Config的<configuration>和</configuration>添加以下节点:
设置完以上两个步骤,就基本可以运行了,其中<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
然后配置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 目录下。
然后在你的这个页