2013-11-15 212 views
2

我試圖創建一個網頁,應該自動檢測是否應顯示移動版本(/移動(索引)或桌面版本(/ en /索引或/ de/index) 。在用戶的設備上重定向到移動頁面在htaccess

與研究大量的

所以我完成了以下htaccess文件:

Options +FollowSymlinks 
RewriteEngine on 

RewriteRule ^/?$ /de/index [R] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^(.*)$ $1.html 

它基本上把用戶進入頁面的德語版時,來訪的第一個(應事後改變)並從URL中刪除html擴展名。

現在,我想補充:

RewriteCond %{HTTP_USER_AGENT} iphone|ipad|android|blackberry [NC] 
RewriteRule ^$ /mobile/index 

但由於某些原因,它只是將無法正常工作。

我想我正在尋找的是某種if-else條件(如果是移動然後移動/索引else de/index)。

無論如何我appreaciate任何建議,你可能會給我! 親切的問候,chrissik

回答

1

你可以嘗試把該規則的重定向之前和重定向排除:

RewriteCond %{HTTP_USER_AGENT} iphone|ipad|android|blackberry [NC] 
RewriteRule ^$ /mobile/index 

RewriteCond %{HTTP_USER_AGENT} !(iphone|ipad|android|blackberry) [NC] 
RewriteRule ^/?$ /de/index [R] 

編輯:您還可以添加:

RewriteCond %{HTTP_USER_AGENT} iphone|ipad|android|blackberry [NC] 
RewriteCond %{REQUEST_URI} !^/mobile 
RewriteRule ^(de/)?(.+)$ /mobile/$1 [L] 
+0

謝謝!有用! – chrissik

+0

也許你可以給我一些額外的幫助。現在我想讓移動頁面顯示任何鏈接(例如:Android設備嘗試顯示頁面/ de/visitor - >應該重定向到page/mobile/visitor)。如果你能幫助我,那將是非常棒的! – chrissik

+1

@chrissik請參閱編輯,指出您的方向正確 –