Probleme: /index.php?id=8 auf /de/beispielseite.html redirecten klappt nicht
Ein Kunde hatte bisher URLs nach der Struktur /index.php?id=8
Nach der Seitenumstellung hat er jetzt schöne URLs und zudem das Sprachkürzel, weil er unter derselben Domain mehrere Sprachen-Websites am Laufen hat.
Das Problem:
Ich bekomme jetzt partout die 301 Redirects nicht zum Laufen.
Wie es scheint, bastelt Contao sich im ersten Schritt selbst (ohne mein Zutun) aus /index.php?id=8 schon mal /de/index.php?id=8.
Mein Versuch das hier in die htaccess zu schreiben, greift dann nicht und führt nur zur 404.
Code:
## Rewrites alte URLS ##
#RedirectMatch 301 ^/index.php/(.*) /$1
#RedirectMatch 301 /index.php?id=18 http://www.beispieldomain.de/de/beispielseite.html
#RedirectMatch 301 /de/index.php?id=18 http://www.beispieldomain.de/de/beispielseite.html
RedirectMatch 301 ^(.*)/index.php?id=18$ $1/de/beispielseite.htmll
Ich habe alle Varianten getestet (jeweils einzeln), aber nichts klappt. Ich lande immer auf der 404 und sehe in der Adressleiste: http://www.beispieldomain.de//de/index.php?id=8
Ich habe auch den Ort innerhalb der htaccess variiert, wo ich diesen Aufruf durchführe, also von "direkt nach der Rwerite Base" bis "ganz am Ende".
Habt ihr einen Tipp?
Redirect funktioniert nicht mit params
Ich lasse den Nutzer einen Wert (code) in ein Formular eingeben und leite beim Absenden auf eine interne Seite (stop) weiter
Der Parameter aus dem Formular wird per GET angehangen. Dadurch wird eine neue URL generiert, die ich dann mittels htaccess auf eine
bestehende interne Seite umleiten möchte.
http://domain.com/de/stop.html?code=810
Man muss wissen, ich nutze bereits URL Rewrite und hänge jeder Seite .html an.
Folgendes habe ich versucht:
RewriteCond %{QUERY_STRING} code=810
RewriteRule ^index\.php$ /de/zielseite.html? [L,R=301]
klappt nicht. Kein Fehler, keine Reaktion
RewriteCond %{QUERY_STRING} code=810
RewriteRule ^shop\.html$ /de/zielseite.html? [L,R=301]
klappt nicht. Kein Fehler, keine Reaktion
Redirect 301 /stop.html?code=810 http://domain.com/de/zielseite.html
klappt nicht. Kein Fehler, keine Reaktion
Andere Weiterleitungen ohne reguläre Ausdrücke klappen mit Redirect 301 anstandslos.
Bin Ratlos.