.htaccess UA仅允许Chrome

时间:2018-10-21 16:55:25

标签: .htaccess

我当前在我的.htaccess文件中使用它:

RewriteCond %{HTTP_USER_AGENT} Chrome
RewriteRule .* - [L]
RewriteRule .* URL [R,L]

它可以在Windows和Android中使用。但不是在Ios中。我尝试

RewriteCond %{HTTP_USER_AGENT} Chrome|Crios

仍然无法正常工作。有人请帮助我。

1 个答案:

答案 0 :(得分:1)

Google chrome浏览器的{strong>官方文档所述,link

  

Chrome或CriOS(适用于iOS)

用户代理标头中的

。因此,如果要测试chrome浏览器,则需要同时检查两者

可以遵循的规则

RewriteCond %{HTTP_USER_AGENT} ^.*(Chrome|CriOS).*$
RewriteRule .* - [L]
RewriteRule .* URL [R,L]

正则表达式正在运行,可以在regex tester上进行验证

但是,没有一种方法可以确保浏览器是 Chrome官方版本,因为许多其他浏览器也在其用户代理标头中使用chrome来吸引 Google的流行Chrome (如

  

龙,边缘,羊群,铁,银座,傲游(仅举几例)

您可以转到http://www.useragentstring.com/查找在其用户代理标头中使用chrome并将其排除在重写规则之外的其他浏览器的用户代理。

因此最终的重写规则可以遵循

RewriteCond %{HTTP_USER_AGENT} ^.*(Chrome|CriOS).*$
RewriteCond %{HTTP_USER_AGENT} !^.*(Aviator|ChromePlus|coc_|Dragon|Edge|Flock|Iron|Kinza|Maxthon|MxNitro|Nichrome|OPR|Perk|Rockmelt|Seznam|Sleipnir|Spark|UBrowser|Vivaldi|WebExplorer|YaBrowser).*$
RewriteRule .* - [L]
RewriteRule .* URL [R,L]

浏览器列表来自link