【问题标题】:.htaccess allow only from Chrome, Opera, Mozilla, Safari, redirect from others.htaccess 仅允许来自 Chrome、Opera、Mozilla、Safari,从其他人重定向
【发布时间】:2016-10-14 03:41:56
【问题描述】:

如果用户不使用 Chrome、Safari、Opera 或 Mozilla,我想配置重定向。

对于逆问题(如果我不想要 Chrome 等),有一个解决方案:

RewriteCond %{HTTP_USER_AGENT} Chrome
RewriteRule ^abcd.html$ chrome.html [NC,L]

RewriteCond %{HTTP_USER_AGENT} Safari
RewriteRule ^abcd.html$ safari.html [NC,L]

在之前添加! 不起作用

【问题讨论】:

  • 一个!前缀表示no。这应该可以:RewriteCond %{HTTP_USER_AGENT} !Chrome 然后添加RewriteCond %{HTTP_USER_AGENT} !Safari 等。请问您为什么要这样做?
  • 谢谢,我现在就去看看。阻止 IE 和其他奇怪的浏览器,我的系统可能会失败
  • 您知道 User-Agent 字符串可以被欺骗,对吧?这样做的真正原因是什么?听起来像是 X-Y 问题。
  • 你想要的通常是在客户端用一点 JavaScript 来完成——你可以在浏览器本身中更可靠地检测浏览器类型。
  • 您可以考虑在您的网站无法正常使用的浏览器中显示一条消息。您可以使用条件 cmets 定位旧版本的 IE,例如:quirksmode.org/css/condcom.html 或使用 JS,如 @mustaccio 所说

标签: regex .htaccess url-rewriting user-agent


【解决方案1】:

使用! 运算符完成否定。使用[NC] 标志也会丢弃chromechRome 等字符串:

RewriteCond %{HTTP_USER_AGENT} !Chrome [NC]
RewriteRule ^abcd.html$ chrome.html [NC,L]

【讨论】:

    猜你喜欢
    • 2016-11-02
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 2011-04-11
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多