Problem/Motivation

When fixing redirect chains (A → B → C → D), the fixChain() method only updates the source redirect (A), leaving intermediate redirects (B and C) unchanged. This causes residual sub-chains to be detected on subsequent audits.

Example scenario:

  • Initial state: A → B → C → D (chain detected)
  • After fix: A → D (only source updated)
  • Problem: B → C → D sub-chain still exists
  • Next audit detects: B → C → D as a new chain

This creates an inefficient workflow where multiple fix operations are needed to resolve all chains, and can confuse site administrators who expect all chain issues to be resolved in a single fix operation.

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

antonio nunez created an issue. See original summary.

antonio nunez’s picture

Status: Active » Needs review
antonio nunez’s picture

Version: 1.0.0 » 1.0.1
Status: Needs review » Fixed

The MR fixes the problem. Only the logic has been corrected to resolve intermediate redirects at the same time as the origin.

This has already been released.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.