幾年前,我創建了一個數據庫驅動的ASP.NET網站,它使用單個APSX頁面來顯示所有網站頁面。因此,網站的所有網址都採用以下格式:加號登錄ASP.NET網站的查詢字符串
/main.aspx?page=Page+Title+One
/main.aspx?page=Another+Article+Title
/main.aspx?page=Third+Page
的main.aspx頁面獲取查詢字符串數據(頁+標題+一個例如),並使用它作爲一個重點來拉動適當的文章來自SQL服務器數據庫的內容。頁面的實際標題以空格而不是加號存儲在數據庫中(例如「頁面標題一」)。
在URL查詢字符串中使用+號作爲分隔符的糟糕決定最近導致搜索引擎出現很多問題(重複的內容等),所以我想修復它,但不更改URL 。
我想要做的是,當搜索引擎或訪客試圖訪問錯誤的URL中缺少的+號,並具有白色空格代替,例如:
/main.aspx?page=Page Title One
我想要做301永久重定向到:
/main.aspx?page=Page+Title+One
爲了能夠做到這一點,我需要檢查,如果查詢字符串值有加號或空格,但是當我得到的Request.QueryString [「頁」]的值即使實際quesry字符串有加上它我仍然得到字符串與白色空間「頁標題一」。
該網站在IIS6/Win 2003上運行。
我該怎麼做?
我的網址一直只使用加號而不是空白或%20,但是我在Google中看到緩存頁面,如下所示2:/main.aspx?page=KW1 KW2和/main.aspx?page=KW1% 20KW2,這兩個都是錯誤的,並導致重複的內容問題。現在我想將它們301添加到/main.aspx?page=KW1+KW2的正確URL中。 – 2011-12-21 20:48:45
這就是我正在解釋的。不知道什麼是不明確的,所以添加了希望解釋的代碼示例。 – 2011-12-21 20:59:24
感謝Jon,這正是我需要的:)。我如何將問題標記爲已回答? – 2011-12-21 21:08:56