【问题标题】:Magento: How to change base skin url based on browser (nginx)Magento:如何根据浏览器(nginx)更改基本皮肤 url
【发布时间】:2014-12-12 18:28:37
【问题描述】:

我在 nginx 服务器上运行 https magento 站点。我想从 cdn (Amazon Cloudfront) 提供我的静态内容。

我可以通过更改 media/css/js 网址来轻松做到这一点

www.mysite.com/xxx 到 cdn.mysite.com/xxx

但是,较旧的浏览器和操作系统(例如 XP)不支持使这成为可能的 SNI。

所以,我的问题是:

当我检测到用户正在运行 XP(例如)时,如何将我的 media/css/js 基本 URL 设置为 (www.mysite.com/xxx),但将它们保留为 cdn.mysite.com/默认为xxx

我宁愿不必设置多个商店,只是为了能够在用户不知情的情况下更改这些变量。

【问题讨论】:

  • 您能否澄清however older browsers & operating systems (XP for example) don't support the SNI that makes this possible 的确切含义。对我来说,您提出的解决方案是不必要的过于复杂,简单地更改网址是正确的方法。只需要了解您是如何得出 XP 等不会/无法访问此类网址的结论的。
  • IE6 确实不支持 SNI,IE6 只在 Windows XP 上找到,但 XP 上的 Chrome 确实支持它。 IE6 的全球使用率低于 0.3%(与 IE7 相同),目标是彻底消灭它。我认为根本不应该有人支持该浏览器。
  • 我很想不支持它,但是从我的分析来看,今年我从在 XP 上使用 IE 的客户那里获得了几千美元的业务,我不能承受损失设计原则上的业务水平。根据 Wikipedia,此问题会影响 XP 上的所有 IE 版本。 link

标签: magento redirect nginx base-url


【解决方案1】:

我认为它与 nginx 无关,可以在 Magento 的后端轻松完成。您可以进入系统>配置>设计并单击按钮add exception

然后您可以在matched expression 字段中编写一个正则表达式和一个值来定义将在这种情况下使用的设计。匹配的表达式需要匹配需要具有特定设计的浏览器的用户代理。我认为用户代理在设计方面比操作系统更重要。

【讨论】:

  • 感谢 Christophe...从我所读到的内容来看,操作系统也是这个特定问题的一个因素。但是添加一个带有例外的新主题可能是解决这个问题的方法。由于只需要更改 3 个变量,我希望可能有一种更简单的方法来做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 2015-05-23
  • 2023-04-10
  • 2015-04-18
  • 1970-01-01
相关资源
最近更新 更多