Redirect rule in .htaccess
bearbeitet von
> meine alte Seite hat urls in der Art www.domain.tld/test_abc_1234.html
> Die neue Seite mit Typo3 hat Urls der Art www.domain.tld/abc.html
Sofern der Teil abc aus der alten in die neue URL übernommen wird, kannst du das ganz einfach mit RedirectMatch erledigen, siehe https://httpd.apache.org/docs/2.4/mod/mod_alias.html#redirectmatch
> Ich hatte gedacht, ich schreibe in der neuen DB die ID am Ende der alten URL (1234) in einer Seiten-Spalte und in .htaccess rufe ich immer einer Seite auf, die die DB aufruft und einen Vergleich durchführt, um mir die richtige Datei auszugeben.
Kann man machen, ist aber noch etwas kompliziert. Der Apache hat eine Datenbankfunktion eingebaut: RewriteMap, siehe https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewritemap
Das könnte dann in ungefähr so aussehen (teils aus der Anleitung kopiert, nur das Muster an deine Pfade angepasst):
~~~htaccess
RewriteEngine on
RewriteBase /
RewriteMap examplemap "txt:/path/to/file/map.txt"
RewriteRule ".+_(\d+)\.html$" "${examplemap:$1}"
~~~
> Ist mein Verfahren kompliziert und best practice
Wenn etwas kompliziert ist, ist es in aller Regel nicht die beste Lösung.