【问题标题】:Magento caching errorMagento 缓存错误
【发布时间】:2012-11-07 03:26:52
【问题描述】:

我正在寻找解决我今天下午偶然发现的一个奇怪问题的方法。

我的类别页面开始为 media/js 文件(我相信是 Magento 生成的合并 js 文件之一)抛出 404 not found 错误。这自然会导致类别页面在一些地方出现故障,包括在页面顶部放置一个无法解释的数字并破坏导航。它正在运行:http://www.vapetropolis.ca/herb-grinders

我尝试在后端禁用 js 和 css 合并。我还尝试过刷新 magento 缓存、刷新缓存存储、刷新 javascript/css 缓存,以及手动删除 var/cache 中的所有条目。在所有这些刷新之后, media/js 目录是空的。但是,类别页面仍在寻找相同的文件(所有其他页面仍然正常工作)。

值得注意的是,我本地计算机上的相同站点运行正常,并且包含生产站点找不到的文件。

编辑:将 js 文件从本地发送到生产站点没有帮助 - 类别页面上仍然抛出多个 js 错误。

我猜这个问题与 Magento 混乱的合并功能有关。

Edit(2):问题与缓存有关(谢谢runamok)。将查询字符串添加到 URL 时,页面可以正常工作。所以一定是magento的缓存以某种方式提供了一个错误的页面。

我尝试禁用所有缓存,以及在后端禁用预编译,但行为保持不变

编辑(3):仍然需要帮助!

【问题讨论】:

    标签: javascript magento merge http-status-code-404


    【解决方案1】:

    看起来您可能已根据现有的此网址解决了该问题。 http://www.vapetropolis.ca/media/js/a87bf7cc5dcd7a07e58a41c1063e1f4a.js

    一般来说这是因为 media/js 文件的权限不正确。 显然 chmod 777 是最简单的设置方法,但理想情况下,您应该确保该目录归运行 apache 的用户所有。

    此外,如果您使用某种整页缓存,您可能也需要刷新它。页面期望该文件已经存在,因此它不会尝试重新生成它。

    您最后是否使用任何类型的服务,例如 cloudflare 或 varnish 或 cdn 或其他任何可能在短时间内缓存 404 的服务?

    【讨论】:

    • 实际上我可以通过查看页面的服务速度来判断您正在使用某种缓存。如果我向查询字符串添加一个随机属性,它会从 200 毫秒变为 2.5 秒。当我像这样更改网址时:view-source:vapetropolis.ca/… 然后您的配置更改生效并且不再合并 javascript...
    • 是的!当我添加查询字符串时,错误消失并且页面正常工作。但是我不知道缓存问题出在哪里……我已经禁用了后端的所有缓存,并禁用了预编译,但错误仍然存​​在
    • 我仍然认为它是某种缓存扩展。商店是由其他人托管的,还是您设置了服务器堆栈或什么?从我可以看到你在端口 8080 的 apache 前面的端口 80 上使用 nginx。你设置了所有扩展还是其他人?我建议去 docroot/app/code/local 和 docroot/app/code/community 并运行这个命令: find 。 -maxdepth 2 -type d 然后对这些扩展进行一些研究......我想也许你正在运行 tinybrick 的 lightspeed 之类的东西。你能添加“坏”和“好”的网址示例吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多