Skip to content

Detect and handle leading double slash paths #13510

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 30, 2025
Merged

Conversation

brophdawg11
Copy link
Contributor

Closes #11188
Closes #11429
Closes #11911

Copy link

changeset-bot bot commented Apr 30, 2025

🦋 Changeset detected

Latest commit: 02605c5

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
react-router Patch
@react-router/architect Patch
@react-router/cloudflare Patch
@react-router/dev Patch
react-router-dom Patch
@react-router/express Patch
@react-router/node Patch
@react-router/serve Patch
@react-router/fs-routes Patch
@react-router/remix-routes-option-adapter Patch
create-react-router Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@brophdawg11 brophdawg11 force-pushed the brophdawg11/double-slash branch from e3771c7 to 02605c5 Compare April 30, 2025 20:17
Comment on lines +751 to +759
// If this isn't a usage for absolute URLs (currently only for redirects),
// then we need to avoid the URL constructor treating a leading double slash
// as a protocol-less URL. By prepending the base, it forces the double slash
// to be parsed correctly as part of the pathname.
if (!isAbsolute && href.startsWith("//")) {
// new URL('//', 'https://localhost') -> error!
// new URL('https://localhost//', 'https://localhost') -> no error!
href = base + href;
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the new behavior - which we don't want to apply to cases where we want to create an absolute URL, so we extract this utility for direct usage in the redirect case where we have an absolute URL.

Copy link
Contributor

github-actions bot commented May 8, 2025

🤖 Hello there,

We just published version 7.6.0 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant