【问题标题】:.Htaccess UA allow Chrome only.Htaccess UA 仅允许 Chrome
【发布时间】:2019-03-25 20:12:55
【问题描述】:

我目前在我的 .htaccess 中使用它:

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

它适用于 Windows 和 Android 。但不在 Ios 中。我试试

RewriteCond %{HTTP_USER_AGENT} Chrome|Crios

还是不行。请任何人帮助我。

【问题讨论】:

  • 嗨杰克恩杰克。我已经为您的问题提供了工作解决方案以及正则表达式测试器。如果有任何问题,请发表评论,或者如果可以解决您的问题,请投票并接受答案,以便其他 SO 用户可以从中受益

标签: .htaccess


【解决方案1】:

正如 Google chrome 浏览器 link官方文档中提到的,它使用 要么

Chrome 或 CriOS(适用于 iOS)

在用户代理标头中。因此,如果您想测试 chrome 浏览器,您需要同时检查两者

它的规则可以遵循

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

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

但是,没有一种方法可以让您确定浏览器是官方 Chrome,因为许多其他浏览器也在其用户代理标头中使用 chrome,以利用 Google 的流行铬喜欢

Dragon、Edge、Flock、Iron、Kinza、Maxthon(仅举几例)

您可以前往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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2016-12-24
    • 2013-11-06
    相关资源
    最近更新 更多