我有一個主站點和一個移動站點,我正在尋找讓Apache基於他們報告的用戶代理重定向用戶,作爲下一步提供更好的移動體驗。例如。訪問http://jonathanscorner.com/spectacles/的用戶將被重定向到http://jonathanscorner.mobi/?url=/spectacles/。目前我在httpd.conf中嘗試過的東西似乎對我的iPhone沒有影響;我曾嘗試過的是:我如何區分移動用戶,爲什麼這不起作用?
RewriteCond %{HTTP_USER_AGENT} (andriod|avantgo|blackberry|blazer|elaine |hiptop|iphone|ipod|kindle|midp|mmp|mobile|nokia|o2|opera.mini|opera.mobile|palm |pda|plucker|pocket|psp|smartphone|symbian|treo|up.browser|up.link|vodaphone|wap |windows.ce;.iemobile;|windows.ce;.ppc;|windows.ce;.smartphone;|ziino) [NC] RewriteRule (.*) http://jonathanscorner.mobi/?url=$1 [R=302,L]
有一個目光轉向301時,事情很好地工作。
我現在面臨的直接問題是爲什麼當我使用我的iPhone訪問時(以及我可以輕鬆地將手機用戶反彈到移動網站),這不是重定向http://jonathanscorner.com/spectacles/;我的更廣泛的問題是我可以採取什麼小步驟來改善移動用戶的訪問體驗。主要網站在平面設計上有一些真正的藝術性;該移動網站旨在提供輕微的觸摸,例如,每頁打一個小網絡。
它們包含字符串「iPhone」。應該RewriteCond ...(... | iphone | ...)[NC]不匹配作爲不區分大小寫的匹配?如果我的iPhone在其用戶代理字符串中提供「iPhone」,並且條件不匹配,那麼我缺少有關Apache如何工作的信息。 – JonathanHayward 2009-07-20 20:45:21