【问题标题】:Any way to make the Magento home page use a static HTML page?有什么方法可以让 Magento 主页使用静态 HTML 页面?
【发布时间】:2012-03-26 11:04:34
【问题描述】:

有没有办法让 Magento 主页成为静态 html 页面?

在重负载情况下,Magento(即使使用 Varnish、APC、Fooman、块缓存等)可能会很慢。但是,我希望主页尽可能快。一种方法是只使用静态 HTML 页面。

这可能吗?

【问题讨论】:

    标签: apache .htaccess magento


    【解决方案1】:

    如果您将 magento 安装在像 shop 这样的目录下,并且在根目录中有静态 html,那么我相信这会很容易。

    另一种选择是通过.htaccess将根目录的默认页面设置为index.html,然后之后的每个请求都可以转到Magento的index.php。

    我会尝试想出更多的想法。

    HTH

    【讨论】:

      【解决方案2】:

      在主要的 index.php 引导捕获之前加入一个简单的 mod_rewrite 规则应该得到你想要的

      RewriteEngine on
      RewriteRule ^$ static-html.html [L]
      

      【讨论】:

      • 谢谢,明天早上试试!
      【解决方案3】:

      如果您在使用 Varnish 时主页加载时间很慢,则说明您的服务器配置错误。听起来您实际上从未真正访问过缓存。

      检查您的页眉

      X-Cache: HIT(xxx)
      

      您可以使用 CURL 来检查

      curl -I http://www.mydomain.com
      

      如果多次点击页面后仍然显示

      X-Cache: MISS
      

      那么你没有正确定义你的 VCL。

      出于多种原因,按照您的建议去做并不是一个好主意,而且它正在复制 Varnish应该 正在做的事情。

      您对“重载”的定义是什么? 您的完整服务器规格是什么?

      【讨论】:

      • 不幸的是,我们当时打开了 X-Cache 标头。由于某种原因,主页缓存的数据已损坏或其他原因,因为即使站点的其余部分正在运行(尽管比正常速度慢一些),它也无法提供它。一旦我们意识到它没有加载,而是缓存问题,我们从缓存中刷新了该页面,它马上又回来了。一个问题是没有发现主页损坏的问题以及人们在访问主页时遇到问题。这不是一个长期的解决方案,而只是在特殊情况下的一小段时间。
      • 基本上,每年有一次大促销,他们有一大堆只有一个库存的物品。在特定时间启用所有产品,大量客户正在等待购买这些廉价商品,因为他们是他们最忠实的客户。必须清除缓存才能发生这种情况,并且可能无法完全预热(新产品的负载)。所以这是一个艰难的局面。最好是主页不慢,如果商店的其他部分慢的话。
      • 我认为你没有抓住重点。 Varnish 的全部目的是存储页面的静态版本。您定义的 VCL 控制是否可以缓存页面,以及是否应从缓存或后端提供数据。如果您在使用 Varnish 时页面加载时间大于 80 毫秒 - 您的 VCL 是错误的。重写到静态 html 文件是对 Varnish 最初应该做的非常糟糕的复制!我再次问,您对重负载(访问者/带宽)的定义是什么,您的完整服务器规范是什么。
      • 好吧,我能够开始调试,但显然我有很多失误。我正在使用此包中的默认 VCL 3.0:magentocommerce.com/magento-connect/…
      • 好吧,即使 Varnish 2 已经过时,我还是建议使用这种方法,它在我们托管的 BIG 商店(300k + 每日独立访问者)sonassihosting.com/blog/magento-performance/…
      【解决方案4】:

      在繁重的负载下,您可以使用整页缓存,并且不仅在首页,而且在您的所有 CMS、类别和产品页面上都可以获得此优势(静态页面服务)。当百度、谷歌、雅虎、Yandex 和您的客户同时攻击时,网站开始无法崩溃

      这是企业版和社区版与 AITOC、Extendware、Tiny Brick 等的主要区别。人。生成实现它的模块。

      是的,静态首页可能是可行的,但随着您的网站获得流量,优势将是短暂的。

      【讨论】:

        【解决方案5】:

        第一种解决方案:
        使用您的主页内容创建index.html
        并在 .htaccess 末尾添加以下行:

        DirectoryIndex index.html
        

        但不确定它的后果。

        第二个解决方案:
        创建一个内容为 Layout = empty 的 CMS 页面,并将 CMS 页面分配为 Homepage from

        System > Configuration > Web > Default Pages > CMS Homepage
        

        这可能是理想的解决方案。

        【讨论】:

          【解决方案6】:

          您只是在治愈症状,而不是解决问题。您的网站运行缓慢,因为您的托管不足或未针对 Magento 进行优化。

          当您的电子商务商店需要动态内容(库存水平、购物车内容、帐户会话等)时,使用静态 HTML 是不切实际的。按照你的建议去做肯定是不是解决你的问题的方法,你这样做只会产生新的问题。

          定义“重负载”以及您使用什么来托管网站?

          【讨论】:

            【解决方案7】:

            如果您想使用 varnish(或任何整页缓存),您应该注意“计算机科学中只有两件困难的事情:缓存失效和命名事情”的说法。 phoenix 和 aoe_static 的模块在解决这些问题方面大有帮助,但我认为冒险破坏商店是不明智的。在继续之前,您应该阅读清漆文档并在您的商店中调试这些模块。我也想在这方面做一些工作-查看这篇文章magento open source full page cache

            【讨论】:

              猜你喜欢
              • 2016-08-05
              • 2017-02-13
              • 2010-11-16
              • 1970-01-01
              • 2012-07-08
              • 2011-05-20
              • 2020-06-23
              • 2017-08-06
              • 2016-09-03
              相关资源
              最近更新 更多