我在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无法使用,Windows / IIS7上的Boost还是需要.htaccess文件吗?
由于
答案 0 :(得分:0)
Boost can be run on IIS,但配置方向略有不同。如果boost已经在其他条件下工作,并且手动缓存清除可以解决您的问题,则可能 与boost本身无关。
在Drupal 7中,当您更新词汇表时,分类法会清除所有缓存,但在更新词汇时不。术语更新仅清除分类模块的静态和控制器高速缓存,保留大量其他高速缓存。由于假设术语更改比词汇表更新更常见,并且您不希望过于频繁地刷新缓存,因此这是对一般案例性能的合理假设。
根据分类术语页面的设置方式,还有其他缓存,包括Views缓存和Boost缓存。术语保存中的缓存清除不会触发hook_flush_caches()
(在这种情况下,boost需要检测缓存清除的方式)。生成术语页面的视图也可能启用了基于时间的缓存,因此该页面也将保持缓存状态。
有几种方法可以解决这个问题:
hook_taxnonmy_term_update()
和hook_taxonomy_term_insert()
来直接触发提升(或通过cache_clear_all()
)。