Das Umleiten von einer Seite auf eine andere ist mit mod_alias sehr einfach:
Redirect /mydestination http://example.net/ |
Das geht auch noch recht einfach mit Regex wenn man einzelne Bereiche woanders hinschreiben will. Um diese URL-Transformation zu machen:
- http://foobar.net/mydestination/folder/page.php -> http://example.net/foobar/folder/stuff/page.php
den folgenden RedirectMatch verwenden:
RedirectMatch ^/mydestination/(.*)/(.*)$ http://example.net/foobar/$1/stuff/$2 |
Wenn man jedoch mit GET-Parametern rumhantieren will, muss man mod_rewrite anstatt mod_alias nehmen. Fuer die folgende URL-Transformation:
- http://example.net/mydestination/getstuff?pagename=foo.bar -> http://exmpla.net/blafasel/foo.bar
kann man diese Regel nutzen:
RewriteEnginge On RewriteCond %{REQUEST_URI} ^/mydestination/getstuff$ RewriteCond %{QUERY_STRING} ^pagename=(.*)$ RewriteRule ^(.*)$ http://example.net/blafasel/%1? [R=302,L] |
Danke für deine Beschreibung.
Ich möchte diese Adresse
http://www.domain.de/pfad1/pfad2/pfad3/ab.cde/123.htm?search=suchbegriff&submit_search=enter
hierhin
http://www.domain.de/suche.html?keywords=suchbegriff
weiterleiten.
Nach deiner Vorlage habe ich es so versucht
RewriteCond %{REQUEST_URI} ^/pfad1/pfad2/pfad3/ab.cde/123.htm$
RewriteCond %{QUERY_STRING} ^search=suchbegriff&submit_search=enter$
RewriteRule ^$ http://www.domain.de/suche.html?keywords=suchbegriff? [L,R=301]
Funktioniert leider nicht. Was mache ich falsch?
Danke vorab.
@reinhardt: noch aktuell?