■□■身未动 心已远■□■
-
asp.net中Url重写,解决了Postback后暴露URL的问题
2007-11-09
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://wanna.blogbus.com/logs/10716287.html
UrlRewritingNet.UrlRewrite
在项目中添加这个UrlRewritingNet.UrlRewrite 2.0 Binar引用,再对web.config文件做如下几处(有颜色的部分)配置,就可以实现Url重写,并且解决了微软提供的UrlRewrite解决方案在Postback之后会暴露URL真实链接的问题。
甚好,甚强大。
web.config 文件配置如下。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="urlrewritingnet"
restartOnExternalChanges="true"
requirePermission ="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection,
UrlRewritingNet.UrlRewriter" />
</configSections>
<urlrewritingnet
rewriteOnlyVirtualUrls="true"
contextItemsPrefix="QueryString"
defaultPage = "default.aspx"
xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
<rewrites>
<add name="Rule1" virtualUrl="^~/(.*)/Detail(.*).aspx"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/Default.aspx?language=$1&id=$2"
ignoreCase="true" />
<add name="Rule2" virtualUrl="^~/test/(.*).aspx"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/test.aspx?t1=$1"
ignoreCase="true" />
<add name="Rule3" virtualUrl="^~/noex/(.*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/noex.aspx?n=$1"
ignoreCase="true" />
</rewrites>
</urlrewritingnet>
<appSettings/>
<connectionStrings/>
<system.web>
<httpModules>
<add name="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules>
<compilation debug="false" strict="false" explicit="true" />
<pages>
<namespaces>
<clear />
<add namespace="System" />
<add namespace="System.Collections" />
<add namespace="System.Collections.Specialized" />
<add namespace="System.Configuration" />
<add namespace="System.Text" />
<add namespace="System.Text.RegularExpressions" />
<add namespace="System.Web" />
<add namespace="System.Web.Caching" />
<add namespace="System.Web.SessionState" />
<add namespace="System.Web.Security" />
<add namespace="System.Web.Profile" />
<add namespace="System.Web.UI" />
<add namespace="System.Web.UI.WebControls" />
<add namespace="System.Web.UI.WebControls.WebParts" />
<add namespace="System.Web.UI.HtmlControls" />
</namespaces>
</pages>
<authentication mode="Windows" />
</system.web>
</configuration>随机文章:
Resharper上手指南 2008-06-15Error 1609 安装 NetAdvantage 过程中的问题解决 2008-02-15.NET Framework 源码 2008-01-17Windows XP/Server 2003 非常规更新 KB942840 2007-11-28Visual Studio 2008 And .NET 3.5 11月底正式发布 2007-11-06
收藏到:Del.icio.us






