【问题标题】:Do I need a htaccess to be able to use this module?我需要一个 htaccess 才能使用这个模块吗?
【发布时间】:2016-06-29 13:18:29
【问题描述】:

我在 Windows/IIS7 环境中使用 Drupal。根据 Boost 7.x 安装说明 (https://www.drupal.org/node/1459690),如果没有 .htaccess,Boost 将无法工作,但 Windows/IIS7 使用 web.config 而不是 .htacess。我可以使用生成的 .htacess 规则并将它们放在 web.config 中——说明中没有提到。

我提出这个问题的原因是因为 Boost 不能正常工作,我想知道这是否是由于 .htaccess 存在要求。显示对列出分类术语的页面的更改需要时间,我相信保存新/修改的术语应该在保存时清除缓存。通过 Drupal GUI 或 drush 清除所有缓存是一种手动解决方案,但我认为缓存清除应该在保存时自动发生。

即使 IIS7 无法使用 Boost 在 Windows/IIS7 上正常工作,是否需要 .htaccess 文件?

谢谢

【问题讨论】:

  • .htaccess 是 Apache 网络服务器使用的文件。语法与web.config 不同,我不建议您将内容放入该文件中。根据project page,Boost 确实部分支持 IIS。你关注this documentation step了吗?
  • 有人能帮我理解为什么这个问题从 Drupal Answers 迁移到 SO?这主要是一个关于如何为 Drupal 配置服务器的问题,编程元素很少。
  • 为什么这个问题从 Drupal Answers 转移到 Stack Overflow?这与其说是关于 .htaccess 的问题,不如说是关于 Drupal Boost 模块要求的问题。
  • acrosman,我们俩同时问了这个问题 :)

标签: .htaccess boost drupal drupal-7


【解决方案1】:

Boost can be run on IIS,但配置方向有点不同。如果 boost 已经在其他条件下工作,并且手动清除缓存可以解决您的问题,则可能 与 boost 本身无关。

在 Drupal 7 中,分类法会在您更新词汇表时清除所有缓存,但在更新术语时不会。术语更新只会清除分类模块的静态和控制器缓存,而保留大量其他缓存完好无损。由于假设术语更改比词汇更新更常见,并且您不希望过于频繁地刷新缓存,因此这是针对一般案例性能的一组合理假设。

根据您的分类术语页面的设置方式,还有其他缓存在起作用,包括 Views 缓存和 Boost 的缓存。术语保存中的缓存清除不会触发hook_flush_caches()(在这种情况下,boost 需要检测缓存清除的方式)。生成术语页面的视图也可能启用了基于时间的缓存,因此该页面也将保持缓存状态。

有几种方法可以解决这个问题:

【讨论】:

  • 感谢 acrosman。我假设如果我将一个术语移到另一个术语下并保存,则不会清除缓存。如果 Boost 工作正常,我会在提供的文件中看到 <!— Page cached by Boost… 吗?即使我在 Boost 的缓存目录中的缓存文件中看到这一行,我在提供的页面上也看不到它。你还知道Windows/IIS下的Boost是否需要将生成的htaccess规则放到web.config中?谢谢
猜你喜欢
  • 2021-01-17
  • 2018-03-10
  • 1970-01-01
  • 2014-12-11
  • 2011-03-24
  • 1970-01-01
  • 2013-08-13
  • 2018-01-11
  • 2021-03-22
相关资源
最近更新 更多