2012-06-12 56 views
0

我有一個.htaccess文件如下:的.htaccess移動重定向到子文件夾和桌面視圖按鈕

RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$ 
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC] 
RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302] 

一切都很好,並觀看形態手機時的偉大工程 - 它可以檢測並直接進入到子文件夾移動網站所在的位置。但我想弄清楚的是,如何在移動網站的底部有一個鏈接,以便用戶查看桌面版本。而當他們在桌面上的版本,我希望他們能夠回到移動...

任何人都可以幫我嗎?

回答

0

至於「查看桌面版本」鏈接,這應該只是移動網站上的HTML修改,呵呵?

爲了讓用戶在選擇該選項後仍然保留在桌面上,您需要實現一種方法來跟蹤他們的客戶端偏好設置,例如cookie。以下是關於在重寫規則中添加基於Cookie的條件的一些信息:How to do htaccess redirect based on cookie value

+0

你知不知道我怎樣才能得到一個View桌面鏈接工作。如果我把它放在那裏,它會進入根文件夾,然後再返回到子文件夾,因爲這是.htaccess文件中的內容。 –

0

是的,使用cookie。您可以使用[CO]標誌設置它們,並通過%{HTTP_COOKIE}條件詢問它們,例如,將規則添加到

RewriteCond %{HTTP_COOKIE} !force_desktop 

並檢測(未)設置的URI以清除/設置cookie。

+0

謝謝你的回覆。但是因爲我不知道如何實現cookie,所以不能使用它。如果我在移動網站上有單獨的鏈接轉到桌面版本,它將如何知道如何返回到移動設備? –

0

我不會使用cookies,因爲初次訪問者或Cookie設置爲禁用的用戶可能無法正常工作。我會添加一個預先定義的GET參數,強制網站轉到非移動版本。

一個示例:如果您的域名是www.fancysite.com,可能是www.fancysite.com/nomobile。對於「nomobile」URL,您可以在.htaccess中定義自動轉發。對此重寫規則使用[L]條件,以便忽略其他條件。如果「nomobile」字符串不存在,您的(已經在工作的)用戶代理檢測會啓動並且用戶到達移動站點。

看到這些的一些細節(特別是在 「條件」):

http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/

http://www.cheatography.com/davechild/cheat-sheets/mod-rewrite/

相關問題