php - 重定向非 Safari 移动浏览器?
问题描述
我正在寻求编码方面的帮助,以便在除 Safari 之外的任何浏览器上检测和重定向 iOS 用户。我能够通过 .htaccess 完成此操作,但仅适用于 iPhone 和 iPad 重定向,通过以下方式:
RewriteCond %{HTTP_USER_AGENT} iphone|ipad [NC]
RewriteRule ^$ /ios.php
但是,我只打算将它用于 iPhone 和 iPad 上的非 Safari iOS 浏览器。对 htaccess 以外的其他方法开放。我们的 WebRTC 脚本仅适用于 Safari。
解决方案
如果您还没有找到解决方案,您可以测试一下:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} iphone|ipad [NC]
RewriteCond %{HTTP_USER_AGENT} Safari [NC]
RewriteCond %{HTTP_USER_AGENT} !(CriOS|OPiOS) [NC]
RewriteRule ^$ /safari-with-webrtc.php [L]
RewriteRule ^$ /ios-without-webrtc.php [L]
首先我们检查我们是否正在使用 iphone|ipad,第二个指令检测 safari。但是 chrome 也有名称 safari,我们排除了谷歌 Chrome 的 CriOS 和 Opera 的 OPiOS,所以我们有真正的 safari,我们运行 /safari-with-webrtc.php。
否则,我们不在带 Safari 的 iPhone|iPad 上,我们运行 /ios-without-webrtc.php。
推荐阅读
- javascript - List.js - 按超过 1 个键/值/答案的属性过滤
- reactjs - 如何使用 Ionic React 从 IonTabBar 触发 IonModal
- csv - SSIS中的日期类型转换
- r - 试图在 R 中的 ggplot 图上获得更平滑的线
- python - 熊猫列组内所有可能的排列
- matlab - Matlab中的组合数缺失
- java - OpenJFX Maven 原型不存在?
- python - 如何连接两个运行 react 和 python 的 Docker 容器
- node.js - Gatsby App -> AWS Lambda 到 Google Auth 返回到 Gatsby
- php - 在数据库插入之前检查记录是否存在