我有一個基於文章網站,用戶可以登錄,發表文章等更換web.config中的特殊字符使用Intelligencia UrlRewriter
我使用一個註冊用戶的URL看起來如下(只是舉例):
http://example.com/Author/1234/Screenname
就像你所看到的,我通過ID(1234)並使用用戶屏幕名稱。
的問題
傳遞的ID是100%的罰款,但一旦用戶有特殊字符或任何不屬於A-Z,它會返回一個404或錯誤的請求的頁面。
有問題的URL
見/Screen.name - 我要替換的特殊字符,怎麼就會造成HTTP錯誤。
http://example.com/Author/1234/Screenname.
我想用Intelligencia UrlRewriter在web.config中(或任何其他的全球性解決方案,例如在global.asa)來代替特殊無效的URL字符。
我當前的web.config文件重寫代碼:
<rewrite url="^~/Author/(.+)/(.+)" to="~/Contributor_Profile.aspx?auID=$1&auN=$2" processing="stop" permanent="true"/>
問題是你需要在查詢字符串URL編碼參數試試這個。我不知道這個Intelligencia的東西,但你應該嘗試看看它是如何做到的。 – fge
根據fge的評論,這裏的問題可能是URL中的無效字符,而不是URL重寫模塊(我們實際使用它)。有關URL中的有效和無效字符,請參閱http://stackoverflow.com/questions/1547899/which-characters-make-a-url-invalid。哪些角色遇到問題? – rrrr
感謝您的意見。我知道問題出在網址中,但是我的客戶現有數據無法更改。這就是爲什麼我想在地址欄加載之前替換字符,以避免任何問題。 –