0
我有一個奇怪的問題,不知道如何解決。http請求不能在某些請求中分解查詢字符串的路徑
for .NET的通常的行爲是如果你有一個網址,如:/action?id=abc&=type=3
服務器變量是這樣的:
URL: /action
PATH_INFO: /action
QUERY_STRING: id=abc&=type=3
但是這裏來了怪異的行爲:當請求來自了MediaPartners - 谷歌來說,服務器變量不會在問號分裂URL和有:
URL: /action?id=abc&=type=3
PATH_INFO: /action?id=abc&=type=3
QUERY_STRING:
所以路由引擎正試圖找到一個名爲action?id=abc&=type=3
操作名稱,並沒有發現它,提供了一個404錯誤。
有沒有人知道爲什麼會發生這種情況?
從瀏覽器調用時,該路由運行良好,它在Mediapartners-google無法正常工作時調用。在mvc框架開始行動之前,服務器變量會被填充。 – Jokin 2012-03-27 07:11:56
我不知道有什麼方法可以處理從mediapartners-google訪問的URL與通過瀏覽器訪問的URL不同。一個URL是一個URL是一個URL。因此,合乎邏輯的假設是,URL在某種程度上略有不同。我會在global.asax.Application_BeginRequest中記錄絕對URL,並看看你得到了什麼。請求發生這種情況必須有不同的事情...... – 2012-03-27 10:29:14