URLRewriter重写不能实现的问题

shenhai11 2010-08-26 02:04:33

<configSections>
<section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/>
</configSections>
<CustomConfiguration>
<urls>
<add virtualUrl="~/Company/(.[0-9]*)\.aspx" destinationUrl="~/Company/CompanyInfoGY.aspx?companyId=$1"/>
<add virtualUrl="~/aaa.aspx" destinationUrl="~/GuestBook.aspx"/>
</urls>
</CustomConfiguration>
<httpModules>
<add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/>
</httpModules>

比如访问这个页面~/Company/CompanyInfoGY.aspx?companyId=96的时候,地址栏状态栏不是重写后的~/Company/96.aspx 而依旧是~/Company/CompanyInfoGY.aspx?companyId=96
访问~/GuestBook.aspx的时候 地址栏,状态栏都不是重写后的地址:~/aaa.aspx 依旧是~/GuestBook.aspx
请懂的指点我 谢谢
...全文
120 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenhai11 2010-08-28
  • 打赏
  • 举报
回复
我现在只想知道原来的地址是不是要改写成显示在浏览器地址栏中的新地址 ???
porschev 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 happy664618843 的回复:]
用URL重写控件 dll文件
[/Quote]

liuyun1987 2010-08-28
  • 打赏
  • 举报
回复
用UrlRewritingNet.UrlRewriter.dll重写组件试试

<add name="RewriteOnDomain" virtualUrl="^http://((?!www).+?)\.xxx\.com\/$"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/$1/"
rewrite="Domain"
ignoreCase="true" />
huangwenquan123 2010-08-28
  • 打赏
  • 举报
回复
比如说规则~/CheXingDetail(\d+)\.html
原地址~/CheXingDetail.aspx?CheXingID=5
重写地址~/CheXingDetail5.html

shenhai11 2010-08-28
  • 打赏
  • 举报
回复
用URLRewriter重写url后,原来的网站所有连接是不是都要更改下 ,比如原来是:
NavigateUrl='<%#"~/CheXingDetail.aspx?CheXingID="+Eval("CheXingID")%>'
现在要改成 NavigateUrl='<%#"~/Eval("CheXingID")%>'才对 。与这个规则匹配:
<add virtualUrl="~/(.[0-9]*)\.aspx" destinationUrl="~/CheXingDetail.aspx?CheXingID==$1"/>
happy664618843 2010-08-26
  • 打赏
  • 举报
回复
用URL重写控件 dll文件
gzMysky 2010-08-26
  • 打赏
  • 举报
回复
这是我在项目的一个做法给你个参考:
首先
下载地址: http://www.urlrewriting.net/155/de/downloads.html 在项目中增加此引用

然后在web.config中做好相应配置即可。主要是这几段:


在<configuration>节点内加入
<!-- for url rewritingnet-->

<configSections>
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="Default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
<add name="RewriteMessage" virtualUrl="~/Message/(\d+).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Message/OpenDocument.aspx?DocId=$1" ignoreCase="true"/>
</rewrites>
</urlrewritingnet>
</configSections>

<!-- end for url rewritingnet-->

在<system.web>节点内加入

<!-- for url rewritingnet-->

<httpModules>

<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />

</httpModules>

<!-- end for url rewritingnet-->


如何使用:
如果点击是这: http://192.168.1.10/Message/OpenDocument.aspx?DocId=111
则会显示:
http://192.168.1.10/111.aspx
这就已经实现了 url转换了,希望这个方法能给你一个参考,这只是一个方法,还有很多的方法,你在网上找一下大把介绍这方面的东西。

pigHead_chen 2010-08-26
  • 打赏
  • 举报
回复
我用其他软件
helicon\ISAPI_Rewrite
来自故乡的风 2010-08-26
  • 打赏
  • 举报
回复
这个应该是系统本身的更能不完善。下面是我提问时,有个人的回答,你可以试试:


"去网上接一下url重写,非常多,down一个urlRewrite.dll放在你的Bin目录下"

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧