如何實現電腦版網站和觸屏版手機網站的頁面一一對應跳轉,是同時擁有電腦版網站和手機版網站的網站管理員需要考慮的問題:當使用手機訪問電腦版網站的某一個具體頁面時能自動跳轉到對應的手機版頁面。這個問題主要集中在用戶使用手機時,通過移動搜索搜索關鍵詞后,出來的頁面可能不適用于手機瀏覽。
這種情況下遇到的頁面,在手機上訪問有可能是亂七八糟、毫無美感可言,或者是直接顯示縮小版的電腦版網站,給網站訪問者瀏覽網站帶來極大的不便。這個時候我們就需要一個手機版的網站,而目前看來,更加流行的將是觸屏版手機網站。那么當我們同時擁有了觸屏版網站和電腦版網站后,該如何做到自動跳轉呢?
通過搜索引擎里面的結果我們可以看到,大多數是直接采用JS、或者htaccess文件來實現跳轉。但是問題來了,當使用手機訪問電腦版的某一個具體頁面時,跳轉程序會自動跳轉到手機版網站的首頁去。其實這里我們更加希望的是能夠跳轉到手機版網站對應的具體頁面,而不是首頁。深圳網站建設公司創絡剛剛上線了我們自己的觸屏版網站,大家可以用手機試試在搜索引擎里搜索我們的網站,然后點擊頁面打開,看看是不是直接跳轉到對應的頁面的?
那么,我們是如何做到的呢?從上面的圖片當中,您應該可以大概了解到業務處理流程,閱讀接下來的內容可能需要一定的PHP程序基礎:
首先我們需要通過程序獲取$_SERVER[?HTTP_USER_AGENT?]來判斷訪客的來訪方式,確定好是電腦還是手機(此處以手機為例,電腦訪問時道理是相通的),然后跳轉,這里如果直接跳轉,就不會跳轉到對應的頁面去。但是我們可以在剛剛的程序上稍加處理,判斷當前頁面的URL地址,排除主域名外得到的值,以當前頁面為例,請注意瀏覽器的地址欄,那么本頁面得到的值應該是/news_342.html。獲得的方式主要取決于服務器,不同的服務器將有不同的方法,例如可以使用$_SERVER[?REQUEST_URI?]獲得該值。然后跳轉的時候,直接跳轉至對應的手機版域名+這個值的頁面去,不過在這之前,請一定做好數據適配(同步)工作,否則將出現404錯誤頁面。
關于$_SERVER[?REQUEST_URI?]是否支持偽靜態?
其實這個問法不是很標準,部分網友在嘗試此操作的時候,發現在IIS環境下$_SERVER[?REQUEST_URI?]其實是不能有效獲得正確的值的,例如我們想要跳轉到news_342.html這個頁面去,而實際上會跳轉到偽靜態之前的頁面news.php?newsid=342。這時就需要我們專門針對這一個服務器來判斷該使用什么方法獲得偽靜態之后的值了,例如,可以嘗試使用$_SERVER["HTTP_X_REWRITE_URL"]。這二者之間是有一定的區別的,具體在使用時大家可以遵循這樣一個規律:IIS環境下用$_SERVER["HTTP_X_REWRITE_URL"],而Apache環境下則使用$_SERVER[?REQUEST_URI?]。更多有關SERVER的信息大家可以參考PHP手冊或使用搜索引擎查詢更加詳細的資料。
希望以上資料對您有所幫助,創絡感謝您的關注與分享!