2011-11-10 29 views
1

我正在研究基於.NET的移動網站(m.website.com)。 我在主站點(非移動)上使用IIRF進行URL重寫。.NET站點的移動重定向 - 如何在IIRF中設置?

現在,如果他們登陸主網站(www.website.com),則需要將任何移動用戶重定向到移動網站。我能夠通過檢查IIRF中的用戶代理並重定向來實現此目的。

我現在面臨的問題是:

移動站點將有一個鏈接回主站點。如果移動用戶點擊此鏈接,則不應將其重定向回移動設備。

我試圖按照這篇文章中提到的htaccess解決方案 - Mobile Redirect using htaccess,但它無法與IIRF正常工作。 RewriteCond for {QueryString}無法正常工作。另外,我不確定是否可以從IIRF本身設置cookie,就像鏈接中提到的那樣。

我一直在爲這個問題奮鬥了好幾個小時,如果有人能幫上忙,那將會很棒。

我嘗試過的另一種方法是檢查HTTP_REFERER以避免重定向,如果引用網站是移動網站,但這種方式不起作用。

+0

等待迴應。仍在尋求答案。感謝@sjwarner的編輯。這個問題如何進一步提升以引起注意? – Piyush

回答

0

IIRF does not offer the [co] modifier to set a cookie - 但是你應該可以在.NET中輕鬆完成。

但是,IIRF支持在您的條件下使用{HTTP_COOKIE}來檢查Cookie值。

{QUERY_STRING} is also supported(只要確保包含下劃線)。此外,它是HTTP_REFERER,而不是HTTP_REFERRERa misspelling we'll have to live with...)。

因此,您可以根據用戶代理(該列表來自哪裏?)調整重寫規則。from the question you linked。重定向到如果移動網站:

  • 的URL請求尚未手機網站
  • URL不包含沒有重定向查詢字符串(?noredirect=1或類似)
  • NO-重定向的cookie目前
  • 用戶代理的魔法一長串從鏈接的問題
匹配
+0

我剛剛看到'HTTP_REFERER'被錯誤地編輯了......什麼與IIRF和'HTTP_REFERER'不兼容? – marapet