簡體   English   中英

在子文件夾中檢測到瀏覽器后重定向

[英]Redirection after browser detection in subfolders

我確實有一個關於瀏覽器檢測和分別重定向到另一個站點到首頁上另一個文件夾的問題。

在我的客戶網站上,我已通過html元素插入了此腳本:

<script>
var ua = navigator.userAgent.toLowerCase(); 
if (ua.indexOf('safari')!=-1){ 
   if(ua.indexOf('chrome')  > -1){
   }else{
   window.location.href = "sfindex.html" // saf
 }
}
</script>

現在,這會將用戶重定向到另一個index.html,即sfindex.html,該sfindex.html的休憩站點/鏈接沒有應用更平滑的小部件(進一步稱為某些功能)。 意味着Safari用戶將進入名為“所有站點此文件夾”的目錄,其中不包含此特定功能。 sf代表野生動物園,de代表德語。

所有其他瀏覽器繼續使用標准文件夾。 只是/ de /用於德語

此文件夾下的所有頁面都具有啟用此功能的功能。 到現在為止還挺好。 如果用戶僅從主Web地址開始,那將很好地工作。

我現在要向您尋求幫助的是/ de /文件夾頁面中的代碼如何將safari用戶始終重定向到相應的sf / de /頁面。

我嘗試使用上面的腳本來實現它,但是我總是失敗,因為它將用戶重定向到一個不存在的文件夾,例如sf / sf /,這意味着它總是再次添加子文件夾或將其保留在另一個文件夾中組態。

我也嘗試過這個:

RewriteEngine on 

# Add /sf/ at the beginning, for safari user
RewriteCond %{HTTP_USER_AGENT} .*safari [NC]
RewriteCond %{REQUEST_FILENAME} \.html?$ [NC]
RewriteCond %{REQUEST_URI} !^/sf/ [NC]
RewriteRule ^(.*)$ /sf/$1   [R=302,L]

# Delete /sf/ for normal user
RewriteCond %{HTTP_USER_AGENT} !.*safari [NC]  
RewriteRule ^sf/(.*)$ /$1   [NC,R=302,L]

但是htaccess文件中與此有關的問題是,它在Chrome和Opera中不起作用。 它將這些用戶也重定向到Safari子文件夾/ sf /中,有任何解決辦法?

非常感謝。 麥基

在主文件夾中,我放入htaccess文件:

RewriteEngine on 

# Add /sf/ at the beginning, for safari user
RewriteCond %{HTTP_USER_AGENT} .*safari [NC]
RewriteCond %{REQUEST_FILENAME} \.html?$ [NC]
RewriteCond %{REQUEST_URI} !^/sf/ [NC]
RewriteRule ^(.*)$ /sf/$1   [R=302,L]

# Delete /sf/ for normal user
RewriteCond %{HTTP_USER_AGENT} !.*safari [NC]  
RewriteRule ^sf/(.*)$ /$1   [NC,R=302,L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM