2009-02-25 42 views

回答

1

長期繁瑣的試驗後我的建議到是誰在使用網址的人在集成模式與IIS 7重寫,停止浪費你的時間,要麼使用MVC的路由或忘記阿拉伯語字符串的URL

3

如果您安裝了.NET 3.5 SP1,我建議您切換到System.Web.Routing,而不是UrlRewriting.net庫。我最近從UrlRewriting.net切換到System.Web.Routing,路由更好地思考並與ASP.NET管道更好地集成。

如果您有機會切換,我會推薦它。如果沒有,請發佈您的UrlRewriting.net配置文件,以便我們可以調整顯然不起作用的正則表達式。請張貼一些不起作用的URI的例子。

此外,什麼是在web.config部分中定義的值:

<system.web> 
    <globalization requestEncoding="utf-8" 
       responseEncoding="utf-8" 
       fileEncoding="utf-8" /> 
</system.web> 

如同在上述例子中,使用UTF-8。還要確保在URI中將字符編碼爲UTF-8。

0

看來,我已經通過確保解決了這個問題,這兩個頁面,包含鏈接和一個解析查詢字符串已經UTF-8編碼

,但現在我得到了另一個問題 Firefox中的一個正確地顯示在地址欄中的超鏈接和鏈接 但在IE6和IE 7是這樣

mysite/News/2008/10/10/%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9.aspx 

即使IE 6和7的解析鏈接罰款,但這是醜,什麼是請解決嗎?

0

更新:男人你不會相信它,我發現它是如此陌生,它是IIS 7集成模式的問題, 嘗試從Visual Studio啓動您的網頁開發服務器和Unicode字符只會被解析很好,但如果你從IIS 7啓動頁面,它會給你?字符。

希望一些機構將在這裏樹蔭

1

一些光會發生什麼事,當你運行「經典模式」的IIS 7的應用程序(可能需要安裝是一個可行的選擇)?

+0

它工作在經典模式, 我都想盡URL重寫方法在那裏的商業和自由,我已經使用MVC和拋棄整個網絡形式的模式結束了,現在一切都工作得很好:) – DevMania 2009-06-13 06:29:47

1

試試這個,它是速度更快..和免費的問題。

「〜/ News/2008/10/10/newsid /تجربة。aspx」 where newsid是您的文章的ID。

從數據庫中獲取您的標題: '選擇*從新聞其中id =' & NewSID的 它比快得多: 「SELECT * FROM消息,其中標題= '」 &稱號& 「'」

+0

感謝很多人爲偉大的技巧, ,但嚴重我忘了網頁形式和MVC一切都很順利 – DevMania 2009-06-29 22:52:18

-1

你可以使用 - >Server.UrlEncode(productName)在global.aspx或重寫之前,然後使用服務器。UrlDecode(的Request.QueryString [ 「PRODUCTNAME」]);在pageLoad的