我确实有一个关于浏览器检测和重定向到其他网站的问题,分别是主页上的其他文件夹。
在我的客户网站上,我通过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,它没有应用更平滑的小部件(进一步称为某些功能)到其下载站点/链接。表示Safari用户将休闲到一个名为的目录 所有站点此文件夹不包含此特定功能。 sf表示safari,de表示德语。
所有其他浏览器继续使用标准文件夹。德语
只需 / de /此文件夹下的所有页面都确实已启用此功能。 到现在为止还挺好。如果用户仅在主webadress上启动,则效果很好。
我现在要求您提供哪些帮助, / 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 /任何线索来修复它?
非常感谢。 MacGee
答案 0 :(得分:0)
在我放入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]