Skip to content

Infinite redirect loop with ISG and ODR in edge cases #460

Open
@yobottehg

Description

@yobottehg

Hei,

i wanted to report a potential bug with redirects integration and incremental static regeneration and on-demand revalidation which results in an infinite redirect loop in the next website.

Steps to reproduce:

  • Have ISG and On-demand revalidation enabled and configured
  • Run the next.js app in production mode (Because ISG is re-done each request on dev mode)
  • Pathauto and redirect need to be configured correctly and the client is adapter like here: https://next-drupal.org/guides/redirects
  • Have a content type with a path auto pattern based on a content field (e.g title) we use here /article/test as an example
  • Change the title from test to test1. A redirect from /article/test to /article/test1 is created in Drupal. Loading /article/test in the client serves a 301 redirect to /article/test1 --> OK
  • Change the title from test1 back to test. The redirect from /article/test to /article/test1 in Drupal is deleted. A Redirect from /article/test1 to /article/test is created. Loading /article/test1 in Drupal works okay. Also the redirect works okay.
  • Loading /article/test in the client leads to an infinite redirect loop. Potentially because the delete of the old redirect did not trigger a revalidation on the client on the old url. So the client now has 2 cached redirects which lead to each other -> Loop

Potential fixes:

  • If the url changed revalidate the old and the new path
  • Revalidate urls also on redirect creation / change

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions