Accelerator缓存插件在 Exclusions中 URI paths中如何排除ar/子目录缓存

Accelerator缓存插件在 Exclusions中 URI paths中如何排除ar/子目录缓存

核心思路

通过在 Accelerator 插件的 Exclusions(排除规则)下的 URI paths 设置中,添加与阿拉伯语(或其他语言)相关的 URL 路径模式,告诉缓存插件:“所有网址中包含 /ar/ 路径的页面,都不要进行缓存。” 这样,当用户访问阿拉伯语页面时,总会获得动态生成且布局正确的页面。


详细配置步骤

  1. 进入 Accelerator 插件设置
    • 登录您的 WordPress 后台管理界面。
    • 在左侧菜单中找到并点击 Accelerator
    • 进入其主设置页面。
  2. 找到排除规则设置
    • 在 Accelerator 的设置页面中,寻找名为 “Exclusions, views and user”的标签或区域,并点击进入。
  3. 编辑 URI Paths 规则
    • 在排除规则中,找到专门用于设置 URI paths 的文本框。
  4. 添加排除规则
    • 在这个文本框中,另起一行,分别添加以下规则:
    /ar/
    /*/ar/
    /ar/*
    /*/ar/*
  5. 保存更改
    • 滚动到页面底部,点击 Save Changes 或按钮,使配置生效。
  6. 至关重要的一步:清除所有缓存
    • 保存后,务必在 Accelerator 插件中Manager中找到 Operate标签 点击 “Delete Cache” 按钮,并点击它。这将删除所有已存在的、可能错误的缓存版本,确保新的规则立即应用。

规则解释与说明

为了让规则更精准,理解这些规则的含义很重要:

规则模式匹配示例(您的网站域名为 example.com解释
/ar/example.com/ar/匹配网站的阿拉伯语主页
/*/ar/example.com/shop/ar/
example.com/category/ar/
匹配任何一层级下的阿拉伯语目录。* 是一个通配符,代表任意字符串。这个规则对于某些页面结构很重要。
/ar/*example.com/ar/shop/
example.com/ar/about-us/
匹配阿拉伯语版本下的所有子页面
/*/ar/*example.com/product/smartphone/ar/features/匹配中间包含 /ar/ 的复杂URL结构。这是一个最全面的排除规则。

为什么建议使用这么多种规则?
因为 WordPress 的页面结构可能很复杂。例如,一个产品的阿拉伯语页面网址可能是 example.com/product/some-product/ar/。仅使用 /ar/ 规则可能无法匹配到它。使用 /*/ar/ 则可以确保匹配。使用全面的规则可以确保“不漏掉”任何可能的阿拉伯语页面。

此方案的优缺点

优点:

  • 直接有效:从根本上确保所有阿拉伯语页面都不会被缓存,布局问题100%解决。
  • 无需依赖Cookie:即使 GTranslate 不使用 Cookie,此方案也完全有效。
  • 适用于子目录模式:这是解决 GTranslate “子目录”模式缓存冲突的标准方法。

缺点:

  • 性能代价:所有阿拉伯语(及其他已排除语言)的访客都无法享受缓存加速,页面加载速度会稍慢于默认语言。
  • 管理稍烦:如果您添加了新的语言,需要记得回到这里添加新的排除规则。

总结

对于您遇到的 RTL 布局镜像问题,在 Accelerator 插件的 URI Paths 排除规则中添加 /ar/ 和 /*/ar/ 等规则,是一个非常可靠且直接的解决方案

您的操作清单就是:
插件设置 → Exclusions → URI Paths → 添加规则 → 保存 → 清除整个缓存 → 测试。

完成这些步骤后,请用浏览器的无痕模式访问您的阿拉伯语页面,布局应该就恢复正常了。

测试结果:目前阿拉伯语言切换后完成动态生成页面。存在问题:阿拉伯语言内页点击其它页面时,偶尔没有翻译,以英文显示。不知道是哪里问题。

Comments are closed.