使用Intelligencia UrlRewriter替换web.config中的特殊字符

时间:2012-01-20 07:08:55

标签: c# asp.net regex url-rewriting

我有一个基于文章的网站,用户可以登录,发布文章等。

我为注册用户使用的网址如下(仅示例):

http://example.com/Author/1234/Screenname

您可以看到,我正在通过ID(1234)并使用用户屏幕名称。

问题

传递ID是100%罚款,但一旦用户有特殊字符或任何不是A-Z的东西,它将返回404或错误请求页面。

有问题的网址

参见 /Screen.name - 我想替换特殊字符,因为它会导致Http错误。

http://example.com/Author/1234/Screenname.

我想在 web.config (或任何其他全局解决方案,例如global.asa)中使用 Intelligencia UrlRewriter 来替换特殊的无效网址字符。

我当前的web.config重写代码:

<rewrite url="^~/Author/(.+)/(.+)" to="~/Contributor_Profile.aspx?auID=$1&amp;auN=$2" processing="stop" permanent="true"/>

1 个答案:

答案 0 :(得分:0)

在web.config中尝试此操作

<httpRuntime relaxedUrlToFileSystemMapping="true" />