Seite 1 von 1
Problem bei Weiterleitung (.htaccess)
Verfasst: 14.10.2010, 17:06
von raphael
Hi Community!
Ich habe ein ärgerliches Problem mit einer htaccess-Weiterleitung. Da ich nicht gerade ein .htaccess-Genie bin, sitze ich schon zwei Stunden dran. Also würde ich mich sehr freuen, wenn mir jemand helfen könnte.
Ich möchte einfach nur von einer Unterseite automatisch auf eine andere Unterseite weiterleiten. Wer also die Seite page_id=365 anklickt, soll zu page_id=367/ geleitet werden. Klingt einfach... aber irgendwas mach ich falsch. Das Ganze spielt sich nicht im Rootsvertzeichnis, sondern im Unterverzeichnis "test" ab. Habt ihr eine Idee, wo mein Fehler liegt?
Code: Alles auswählen
#RewriteEngine On
#RewriteBase /
#RewriteCond %{QUERY_STRING} (.*)/test/page_id=365
#RewriteRule ^/test/?page_id=365/$ http://www.meinedomain.de/test/?page_id=367/
Danke schon mal vorab für Tipps!
Raphael
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Re: Problem bei Weiterleitung (.htaccess)
Verfasst: 14.10.2010, 17:16
von profo
raphael hat geschrieben:Code: Alles auswählen
#RewriteEngine On
#RewriteCond %{QUERY_STRING} (.*)/test/page_id=365
#RewriteRule ^/test/?page_id=365/$ http://www.meinedomain.de/test/?page_id=367/
Du hast da zum einen überall eine Kommentar-Raute, die muss in jeder Zeile weg. Und zum anderen hast Du zwei unterschiedliche Matches, einmal "(.*)/test/page_id=365" und einmal "^/test/?page_id=365/$". In der RewriteRule brauchst Du aber eigentlich gar nicht mehr matchen, weil die RewriteCond das schon erledigt hat. Ich schätze, wenn Du die "#"-Rauten rausnimmst und die RewriteRule wie folgt änderst (und noch den 301-Marker ranhängst), dann dürfte es funktionieren:
Code: Alles auswählen
RewriteEngine On
RewriteCond %{QUERY_STRING} page_id=365
RewriteRule . http://www.meinedomain.de/test/?page_id=367/ [R=301,L]
*edit* Das RewriteEngine On vorsichtshalber doch drin lassen.
Verfasst: 14.10.2010, 17:21
von raphael
Das mit der Raute ist mir jetzt aber peinlich.

Weil das weiß sogar ich, dass die rausmuss.
Ich probiers mal und melde mich wieder.
Danke!
Raphael
Verfasst: 14.10.2010, 17:24
von profo

Achte bei der RewriteCond noch darauf, dass Du den Pfad "/test/" nicht drinbehältst, der gehört ja nicht zum Query-String. Ich hab das oben schon so eingebaut...
Verfasst: 14.10.2010, 17:27
von raphael
Hm. Ich habs ausprobiert, aber das funktioniert auch nicht.

Verfasst: 14.10.2010, 17:33
von profo
Hmm, ich hab's bei mir gerade ausgeführt, eigentlich müsste es funktionieren.
Bau das "RewriteEngine On" mal bitte doch wieder ein (*hüstel*).
Und wenn das nichts hilft würde ich tippen, dass mod_rewrite nicht aktiv ist oder Dein htaccess nicht ausgeführt wird. Du könntest das mal testen, indem Du wirklich alles auf irgendeine Seite weiterleitest. Etwa mit:
Code: Alles auswählen
<IfModule mod_rewrite.c>
RewriteRule . /test
</IfModule>
Verfasst: 14.10.2010, 19:10
von raphael
Sorry, ich hatte noch zwei andere Baustellen, deshalb konnt ich mich nicht schneller melden.
Aber da funktioniert gar nix. Ich werde mal den Hoster fragen....
DANKE trotzdem!!!
Raphael
Verfasst: 28.10.2010, 09:51
von raphael
raphael hat geschrieben:Sorry, ich hatte noch zwei andere Baustellen, deshalb konnt ich mich nicht schneller melden.
Aber da funktioniert gar nix. Ich werde mal den Hoster fragen....
DANKE trotzdem!!!
Raphael
Also der Hioster meinte, dass das ganze sehr kompliziert wäre, weil ich.... Und da das ganze ohnehin nur eine Testumgebung war, habe ich es lieber gleich gelassen. Jetzt bin ich aber bei einem neuen Hoster in der Produktivumgebung und da sollte es schon funktionieren. Also krame ich den alten Fred wieder hervor und freu mich auch diesmal über eure Tipps.
Derzeit steht in der .htaccess das da drinnen:
Code: Alles auswählen
RewriteEngine On
RewriteCond %{QUERY_STRING} page_id=365
RewriteRule . http://www.meine-domain.de/?page_id=367/ [R=301,L]
Das müsste doch eigentlich stimmen. Oder???