C# URL重写替换+;加20%

C# URL重写替换+;加20%,c#,asp.net,regex,iis-7.5,C#,Asp.net,Regex,Iis 7.5,这在IIS 6中运行良好。现在正在使用IIS 7.5,无法解决问题。为了让定制的应用程序正常工作,它是一个文件管理器。当试图访问文件名中带有空格的文件时,IIS将URL编码为files/This+is+a+filename.doc,并抛出一个找不到的文件。我需要它将URL编码为文件/This%20is%20a%20filename.doc 一直在看URL重写,但无法让我的头围绕它 有什么想法吗?您可以更改url编码。不需要正则表达式。为什么正则表达式是一个选项请求。查询字符串[“文件名”]。替换

这在IIS 6中运行良好。现在正在使用IIS 7.5,无法解决问题。为了让定制的应用程序正常工作,它是一个文件管理器。当试图访问文件名中带有空格的文件时,IIS将URL编码为
files/This+is+a+filename.doc
,并抛出一个找不到的文件。我需要它将URL编码为
文件/This%20is%20a%20filename.doc

一直在看URL重写,但无法让我的头围绕它


有什么想法吗?

您可以更改url编码。不需要正则表达式。

为什么正则表达式是一个选项<代码>请求。查询字符串[“文件名”]。替换(“+”,“%20”),否?或者应用程序调用了一个类,outputFile(),我无法访问它,因为它在DLL中,所以我不相信它会这么简单?仅供参考:
+to space
表单不是。请注意,
+
在URI中未编码时仍然有效,但它映射到
+
(%2B),而不是
空间(%20)。最好是修复生成器/代码以使用适当的URI转义函数。(我假设[bespoke]将URI传递给IIS,而不是将其视为查询字符串并在内部处理获取-可能这已更改?)也尝试将此移到,仍然爱你:-)它可能适用,也可能不适用,特别是在打算进行URL重写的情况下(我想是在IIS内部?),等等。