Zur Navigation

301 Umleitung aller php-Files im Hauptverzeichnis ausser den Wordpress Dateien

1 Erich (Gast)

Hallo Jörg,

ich habe folgendes Problem.
Ich habe eine bestehende alte Seite. Diese beinhaltet über 300 php- und htm-Files im Hauptverzeichnis. Diese Seite habe ich nun in wordpress nachgebildet.

Das sieht nun zB. so aus:
datei1.php nach www.domain.com/de/datei1/
startseite.php nach www.domain.com/de/startseite/
unterseite-1.php nach www.domain.com/de/unterseite-1/
unterseite-2.htm nach www.domain.com/de/untereite-2/
unterseite-44.htm nach www.domain.com/de/untereite-44/

Nun geht es zu den 301 Umleitungen.

Das Problem ist nun folgendes:
Am neuen Server gibt es von der Wordpress-Installation her im Hauptverzeichnis mehrere php-Dateien die alle mit "wp-" beginnen. Weiters gibt es noch eine Datei die index.php heißt und eine Datei mit dem Namen xmlrpc.php

Ich möchte nun alle URLs der alten Seite die php- und htm-Files beinhalten und nicht zu wordpress gehören wie folgt umleiten:
zB. die Datei
datei1.php nach www.domain.com/de/datei1/
startseite.php nach www.domain.com/de/startseite/
unterseite-1.php nach www.domain.com/de/unterseite-1/
unterseite-2.htm nach www.domain.com/de/untereite-2/
unterseite-44.htm nach www.domain.com/de/untereite-44/
usw.

Es geht mir darum, dass ich diese Umleitungen in der htaccess in ein paar Zeilen eintragen möchte, und nicht alle geschätzte 300 Seiten extra mit Dateinamen und Ziel in der htaccess eintragen muss.

Sozusagen möchte ich alle *.php und *.htm die im Hauptverzeichnis waren, nach dem oben genannten Muster umleiten, jedoch nicht die wordpress-Dateien die nun am neuen Server auch im Hauptverzeichnis liegen. Denn wenn ich das auch machen würde, würden einige Wordpress Funktionen nicht mehr funktionieren.

Viele Grüße
Erich



16.06.2020 14:06

2 Erich (Gast)

Aktuell hatte ich es so:

RewriteRule ^([^.]+)/$ /$1.php?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+).php$ http://%{HTTP_HOST}/de/$1/? [L,R=301]

aber dann funktionierten die ganzen Wordpress-Dateien aus dem Hauptverzeichnis nicht mehr, da die auch den oben verwendeten Regeln entsprechen.

16.06.2020 14:15

3 Jörg Kruse

Ist das WordPress so eingestellt, dass suchmaschinenfreundliche URLs (Permalinks) verwendet werden? wenn ja, sollte diese Rule bereits ein Problem darstellen, da dadurch auch WordPress-URLs anderweitig umgeleitet werden:

RewriteRule ^([^.]+)/$ /$1.php?rw=1 [QSA,L]

Zum zweiten Regelsatz: wenn die weiterzuleitenden .php und .htm Dateien auf dem neuen Webspace nicht mehr existieren, kannst du die Nicht-Existenz der Datei zur Bedingung machen:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.(php|htm)$ http://%{HTTP_HOST}/de/$1/? [L,R=301]

16.06.2020 15:11

4 Erich (Gast)

Genau das war die Lösung - die Bedingung der nicht existierenden Dateien!
Vielen Dank Jörg!

16.06.2020 15:23

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]