Setting up a lot of 301 redirects?

Hello everyone, we have a larger website project where we now have to set up about 10,000 301 redirects.

I've already come to the conclusion that it's definitely not a good idea to include all redirects in the htaccess, as this is always reloaded when a website request is processed.

The vhost should be a good solution here.
Unfortunately, we only have a larger web hosting system where you don't get access to the vhost, only with a vServer.

So I wanted to ask if there was another option. Thank you.

(1 votes)
Loading...

Similar Posts

Subscribe
Notify of
9 Answers
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Destranix
1 year ago

Du kannst dir serverseitig dein eigenes Redirect-Script coden. In der Sprache die dein Webserver verwendet (z.B. PHP).

Da kannst du dann im Hintergrund beispielsweise eine Datenbank oder soetwas verwenden.

Destranix
1 year ago
Reply to  sinuss

Du sendest von deinem Server aus als Antwort die passenden Header und beendest die Sitzung dann oder gibst etwas passendes aus.

Beispiel:

header("HTTP/1.1 301 Moved Permanently");
            $url = "https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
            $queryPos = strpos($url, "?");
            if($queryPos === FALSE){
                $anchorPos = strpos($url, "#");
                if($anchorPos === FALSE){
                    $url .= "?redirected=true";
                }else{
                    $url = substr($url, 0, $anchorPos)."?redirected=true".substr($url, $anchorPos);
                }
            }else{
                $url = substr($url, 0, $queryPos+1)."redirected=true&".substr($url, $queryPos+1);
            }
            header("Location: ".$url);
            exit();

(Das redirected glaube ich zu HTTPS.)

Destranix
1 year ago

Das man sich halt eine Redirect-Tabelle erstellt und da nur den passenden Eintrag rauslädt den man gerade braucht.

Da kann man auch einen Cache oder soetwas zu implementieren sicherlich irgendwie. (Wahrscheinlich kann eine passend konfigurierte Datenbank einerseits schnellen Zugriff erlauben, andererseits gegebenenfalls auch Caching betreiben.)

Du erhälst vom Nutzer die Eingabe-URL, machst einen Query in der Datenbank (mittels vorindizierten und voroptimiertem Query) und du bekommst die Ziel-URL zurück, die du dann verwendest wie oben in dem Code-Beispiel (Header senden, dann Location setzen, dann exit).

Destranix
1 year ago

Du kannst die Redirects aus einer Datenbank oder anderen Datenstruktur dynamisch laden. Musst du halt entsprechend coden.

triopasi
1 year ago

Wofür brauchst du so viele Redirects? Das hört sich eher an als solltest du Weiterleitungsregeln nutzen bzw. den Webserver ordentlich konfigurieren. Ich kenne keinen sinnvollen Anwendungsfall der so viele manuelle Redirects braucht. Vielleicht solltest du mal das Problem bzw. Ziel beschreiben und nicht deine vermutete Lösung.