In expire.module, you've got:
// Path redirects
if (module_exists('path_redirect')) {
$path_redirects = expire_path_redirect_load(array('redirect' => $path));
if (isset($path_redirects)) {
foreach ($path_redirects as $path_redirect) {
$expire[] = $path_redirect['path'];
}
}
}
I'm suggesting:
// Path redirects
if (module_exists('path_redirect')) {
$path_redirects = expire_path_redirect_load(array('redirect' => $path));
if (isset($path_redirects)) {
foreach ($path_redirects as $path_redirect) {
if (!empty($path_redirect['redirect'])) {
$expire[] = $path_redirect['redirect'];
}
}
}
}
There's no column in the path_redirect table named 'path'. The column that you want is 'redirect'. If a result is returned from expire_path_redirect_load(), $expire[] would be set to NULL, which results in a global flush.
Comments
Comment #1
djbobbydrake commentedFYI - this was a global flush, because my VCL purge was looking for regex. But with non-regex, this would result in flushing the homepage.
Comment #2
jaydub commentedAttached a patch of the above fix
Comment #3
djbobbydrake commentedThanks for the patch. I'll learn how to make a git patch one of these days...
Comment #4
SqyD commentedCommited, Thanks djboddydrake & jaydub!
Comment #5
SqyD commentedComment #6
SqyD commentedBTW: was also committed to the D7 branch