我正在尝试重写C#.net framework = 4.0和visual studio版本2010中的url,我在web.config文件中编写了以下代码行,但它不影响url。我想用“ - ”
替换url中的%20<rewrite>
<rules>
<rule name="Myrule">
<match url="(.)\ (.)" />
<action type="Rewrite" url="{R:0}-{R:1}" />
</rule>
</rules>
</rewrite>
在Chrome中它显示%20,在Mozilla中显示“”空格,如何用短划线替换空格“ - ”?
答案 0 :(得分:0)
也许尝试按照this tutorial尝试开发自己的自定义重写提供程序。
答案 1 :(得分:0)
更新:
我认为解决问题的唯一方法是编写自己的重写模块。这些文章可能有所帮助:
http://www.upperstrata.com/insights/2010-02-26/using-iis7-url-rewrite-module-with-asp-net-routing/
http://www.jphellemons.nl/post/URL-rewrite-with-aspnet-40-and-IIS7.aspx
我无法测试它,如果它以这种方式工作,我就不会测试它,但是尝试使用另一个正则表达式:
((%20)|\ )+
例如,应将此http://www.goo%20le.de / hfdhdhdhd
之类的网址替换为此http://www.goo-le.de-/-hfdhdhdhd
更新:
它适用于正则表达式测试程序http://regexpal.com/
答案 2 :(得分:0)
试试这个,希望这会奏效。
<%# Server.UrlDecode("www.stack%20overflow.com").Replace("%20", "-") %>