小编典典

自动检测移动浏览器(通过用户代理?)

html

如何检测用户是否正在通过移动Web浏览器查看我的网站,以便随后可以自动检测并显示适当版本的网站?


阅读 355

收藏
2020-05-10

共1个答案

小编典典

是的,读取User-Agent标头即可解决问题。

那里有一些已知的移动用户代理列表,因此您无需从头开始。我必须要做的是建立一个已知用户代理的数据库,并在检测到未知的版本时存储未知的内容,然后手动找出它们是什么。在某些情况下,这最后一件事可能会过大。

如果要在Apache级别执行此操作,则可以创建一个脚本,该脚本定期生成一组重写规则,以检查用户代理(或者一次并忘记新的用户代理,或者每月一次,视情况而定),例如

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (OneMobileUserAgent|AnotherMobileUserAgent|...)
RewriteRule (.*) mobile/$1

例如,将请求从http://domain/index.html移到

如果您不喜欢使用脚本定期重新创建htaccess文件的方法,则可以编写一个模块来检查用户代理(我没有找到一个,但找到了这个特别合适的示例)并获取了用户代理。从某些网站进行更新。然后,您可以根据需要使该方法复杂化,但是我认为在您的情况下,以前的方法会很好。

2020-05-10