If the path of a node has changed & "Do not flush expired content on cron run, instead re-crawl and overwrite it" is set and the old path gives a 301 due to Path Redirect then the old path will still give a 200 instead of a 301. There are several ways to fix the issue.
* Put a fix in boost_exit so any call to drupal_goto flushes the cache. Because hook_exit does not give me the redirect code I need to recreate the conditions that created the redirect via code from path_redirect_init() & globalredirect_init(). Other option is to assume if the code doesn't have destination=X then it was created by a module.
* Flush the file, then crawl the url, from inside the crawler.
* Detect path changes and kill the old file from boost_nodeapi
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | boost-627844.1.patch | 8.04 KB | mikeytown2 |
| #2 | boost-627844.patch | 2.92 KB | mikeytown2 |
Comments
Comment #1
mikeytown2 commentedThis detects path changes... I should add it in. Runs under
case 'presave':in nodeapi.Comment #2
mikeytown2 commentedThis does #1 & #3 from the original post
Comment #3
mikeytown2 commentedDoes all 3. Will commit soon to make the 4pm dev build time.
Comment #4
mikeytown2 commentedcommitted