From 2d9c2365d463062f0e88674fcb1b4ca1965c34fd Mon Sep 17 00:00:00 2001
From: Lukas Tenbrink
Date: Sat, 4 Oct 2025 11:29:07 +0200
Subject: [PATCH] Fix redirects in safari, by moving the redirect js script
into the 404 page instead of checking if we're on 404 via the API.
---
404.rst | 30 ++++++++++++++++++++++++++++++
_static/js/custom.js | 31 -------------------------------
2 files changed, 30 insertions(+), 31 deletions(-)
diff --git a/404.rst b/404.rst
index 21960757c..a7507b38c 100644
--- a/404.rst
+++ b/404.rst
@@ -22,3 +22,33 @@ Page not found
Search docs
box on the left or go to the homepage.
+
+
diff --git a/_static/js/custom.js b/_static/js/custom.js
index 860deb940..49cd5fc26 100644
--- a/_static/js/custom.js
+++ b/_static/js/custom.js
@@ -297,37 +297,6 @@ const registerGiscus = function () {
};
$(document).ready(() => {
- const httpResponseStatus = window.performance.getEntries()[0].responseStatus;
- if (httpResponseStatus === 404) {
- // Check for redirects if on a currently invalid page.
- // This is done in JavaScript, as we exceed Read the Docs' limit for the amount of redirects configurable.
- // When testing this feature on a local web server, replace the URL below with just `/_static/redirects.csv`.
- fetch("/en/latest/_static/redirects.csv")
- .then(response => response.text())
- .then(csvText => {
- const lines = csvText.trim().split('\n');
- for (const line of lines) {
- if (!line.trim()) {
- continue;
- }
- const [from, to] = line.split(',').map(s => s.trim());
- if (from && to) {
- if (window.location.pathname.endsWith(from)) {
- if (to.startsWith('https://')) {
- window.location.replace(to);
- } else {
- const newUrl = window.location.href.replace(window.location.pathname, to);
- window.location.replace(newUrl);
- }
- }
- }
- }
- })
- .catch(err => {
- console.error("Couldn't fetch redirects list:", err);
- });
- }
-
// Remove the search match highlights from the page, and adjust the URL in the
// navigation history.
const url = new URL(location.href);