2011-07-06 50 views
2

我爲我的一些頁面動態生成RSS源。如何在RSS源中存在查詢字符串時對自我鏈接進行編碼

問題是頁面在URL中包含一個查詢字符串來生成內容。當我把這個網址到標籤是no longer valid

此示例代碼有同樣的問題,可以驗證here

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
    <channel> 
    <title>RSS Feed</title> 
    <link>http://localhost/?id=1&title=sample</link> 
    <atom:link href="http://localhost/?id=1&title=sample" rel="self" type="application/rss+xml" /> 
    <description>Sample Items for SO</description> 
    <language>en</language> 
    <copyright></copyright> 
    <webMaster>[email protected] (webmaster)</webMaster> 
    <ttl>5</ttl> 
    <item> 
     <title>Page 1</title> 
     <link>http://localhost/page1</link> 
     <guid>http://localhost/page1</guid> 
     <description></description> 
     <pubDate>Tue, 25 Jan 2011 11:44:41 GMT</pubDate> 
    </item> 
    </channel> 
</rss> 

這個問題似乎是與第二查詢字符串參數。但是,如果我完整地編碼URL,它是無效的。

我使用的是使用asp.net MVC生成頁面,並且使用Request.Url來獲取當前的Feed URL。有超過30個可能的參數,所以使用URL重寫來解決這個問題並不是一個可行的解決方案。

回答

0

解決方案是隻編碼查詢字符串,而不是整個網址。這使得飼料有效。

相關問題