I have a site which makes several Acidfree galleries available to visitors. The parent gallery was cached correctly. However, when thesubordinate galleries are cached by Boost, the files are all being cached as taxonomy/term/.html, and the symlinks for all the galleries are set to point to this one file!

I traced through the code in boost.api.inc, and found that the $path variable was set to node/1234, then passed to drupal_get_normal_path() at line 131. The normalization sets $path to taxonomy/term/ with no term id at the end.

The temporary fix is to comment out line 131, and to let Boost cache the albums by node id. This might break i18n and localizer as the custom_url_rewrite function is called from drupal_get_normal_path, although the alias appears to be returned normally. I do not know if the problem is with Acidfree, or the taxonomy module, but it rears its head with Boost, which is correctly handling the result from drupal_get_normal_path().

Commenting out line 131 allows Boost to cache the pages as node/1234 and it appears to be working correctly. If everything on your site is a node, why normalize the path. Am I missing something here? The Acidfree albums are all nodes, and are classified by a multilevel taxonomy, one term (required) per album. Will the elimination of system path normalization actually break something?

Comments

dicreat’s picture

Priority: Normal » Critical

I have the same problem on my site with boost, but I don't use Acidfree galleries. I'm using "Taxonomy context" module for generate a menu from taxonomy terms + "Pathauto" module for generating urls. Each taxonomy terms on my site have own alias (generated with pathauto), in cache directory I see links like @term_alias.html with links always to one file taxonomy/term/.html

mikeytown2’s picture

Status: Active » Closed (duplicate)

This issue removes all symlinks; merging all symlink issues into this one.
#174380: Remove symlink creation. Let each path have own file