2008-10-20 46 views
1

我在我的應用程序中使用Intelligencia的UrlRewriter,我遇到了一個問題,我設置的規則似乎是從我的網址中剝離+符號。如何停止UrlRewriter剝離我的符號

例如,我想有網址/category/catname/+tag+tag,但在我看來,作爲/category/catname/ tag tag

沒有人有任何的想法,是這個記在我的正則表達式?我已經在穩壓器中試過了,它很好。

<rewriter> 
    <rewrite url="^/content/(.+)$" to="~/page.aspx?name=$1" /> 
    <rewrite url="^/category/(.+)$" to="~/catalog.aspx?category=$1" /> 
    <rewrite url="^/product/(.+)$" to="~/catalog.aspx?product=$1" /> 
    <rewrite url="~/login/" to="~/login.aspx"/> 
</rewriter> 

回答

5

它爲什麼這樣做的原因,是因爲「+」被解析由網絡服務器的空間你重寫之前實際得到它。 litteral +是你在實際URL中不能使用的東西。如果你想使用+,那麼你需要引用它,如%2B:「/ category/catname /%2Btag1%2Btag2」。

編輯:Here is an example of URL encoding這說明了一些你不能使用的字符,以及如何對它們進行編碼。如果您正在尋找更多視覺吸引人的網址,您可以嘗試使用「 - 」和「_」這兩個都是有效的,我會建議「 - 」。那麼url的一個例子就是「/ category/catname/-tag1-tag2」。

+0

釘在頭上! – mspmsp 2008-10-20 14:11:14