Url 重写 return 在 umbraco 中用 + 替换空格时出现 404 错误

Url rewrite return 404 error when spaces replaced with + in umbraco

我需要用 umbraco 重写 url。如果我留下空格,它目前正在工作。但是我想删除空格并用 + 替换它们以获得更用户友好的 urls 而没有 %20。

所以这是有效的。

/For-Sale/6_24-Hunter Street-KELVIN GROVE-4059

但事实并非如此。而 umbraco 只是告诉我找不到该页面。 404 错误。

/For-Sale/6_24-Hunter+Street-KELVIN+GROVE-4059

这是我正在使用的 umbraco url 重写规则。

<add name="SaleRule"
     virtualUrl="^~/For-Sale/(.*)"
     destinationUrl="~/Result/Item?type=For-Sale&amp;address="
     rewriteUrlParameter="ExcludeFromClientQueryString"
     ignoreCase="true" />

知道我做错了什么吗?

对于那些遇到这个问题的人,这里是我解决它的方法。

我在下面找到了答案post - Is Enabling Double Escaping Dangerous?

要允许 url 中的 + 符号,我需要在 web.config 中设置以下内容。

<system.webServer>
    <security>
        <requestFiltering allowDoubleEscaping="true"/>
    </security>
</system.webServer>

我在 Umbraco 中的 Url 重写规则是正确的。