0

我正在尝试在 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 中显示“”空格,如何用破折号“-”替换空格?

4

3 回答 3

0

也许尝试按照本教程尝试开发自己的自定义重写提供程序。

于 2013-05-09T07:43:38.910 回答
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)|\ )+

例如,像这样的 Urlhttp://www.goo%20le.de / hfdhdhdhd应该替换为此http://www.goo-le.de-/-hfdhdhdhd

更新:

它适用于正则表达式测试器http://regexpal.com/

在此处输入图像描述

于 2013-05-09T07:50:16.643 回答
0

试试这个,希望这会奏效。

<%# Server.UrlDecode("www.stack%20overflow.com").Replace("%20", "-") %>
于 2013-05-09T08:23:16.093 回答