Seite 1 von 1

mod_rewrite und Weiterleitungen

Verfasst: 06.12.2005, 17:11
von jensjk
ich schreibe urls per mod_rewrite in der .htaccess bzw. httpd.conf um. Soweit so gut. funktioniert auch. Aber nun zur Frage:

wie bekomme ich es hin, dass der Client dabei keine Weiterleitung übermittelt bekommt? Bei meinem Umleitungen per RewriteRule bekommt der Client immer eine 302 oder 301, je nach dem ob etwas angegeben ist oder nicht.

Wenn ich mir aber hier mal die Links des optimierten Forums anschaue, dann bekomme ich die dahinterliegende PHP-Seite angezeigt und dabei wird sofort ein Statuscode 200 an den Client übermittelt.

Kann man das im Apache irgendwo konfigurieren?

Oder gibt es einen [R=200] (das hab ich noch gar nicht versucht anzugeben, wäre wohl zu einfach)?

Verfasst:
von

mod_rewrite und Weiterleitungen

Verfasst: 06.12.2005, 17:31
von Curadhan
warum leitest du per rewrite rule weiter und schreibst nicht nur die URL um?

Verfasst: 06.12.2005, 18:28
von jensjk
auch auf die Gefahr sich zu blamieren, aber: welche Möglichkeit gibt es in mod_rewrite "nur die URL umzuschreiben" ohne dazu RewriteRule zu verwenden?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


mod_rewrite und Weiterleitungen

Verfasst: 06.12.2005, 18:46
von Curadhan
wie sieht den so ne rule von dir aus?

mod_rewrite und Weiterleitungen

Verfasst: 06.12.2005, 19:25
von jensjk
z.b. so etwas, hier werden mal Parameter nicht entfernt sondern geändert:

RewriteCond %{THE_REQUEST} \?zielort=(.+)\ HTTP
RewriteRule ^.*$ http://www\.domain\.de/suchen/abc.php\?txt_eingabe=%1 [L]

oder:

RewriteCond .... [OR]
RewriteCond .... [OR]
RewriteRule .* /test/test.php [L,T=application/x-httpd-php]

mod_rewrite und Weiterleitungen

Verfasst: 06.12.2005, 19:46
von Curadhan
Du machst da ja auch ne Weiterleitung rein...versuchs mal so:

RewriteCond %{THE_REQUEST} \?zielort=(.+)\ HTTP
RewriteRule (.*)/suchen/abc.php\?txt_eingabe=%1 [L]

Verfasst: 06.12.2005, 20:53
von jensjk
ok. Danke. jetzt hab ich's begriffen. Das Muster passte zwar nicht ganz, hinter die (.*) muß logischerweise eine Klammer, und dann noch das Problem mit dem führenden / im 2. Teil der Rule:
ohne führenden / ist es relativ zum augenblicklichen Pfad (was nicht immer passt), will man es absolut haben, dann muß man den kompletten lokalen Pfad angeben:

RewriteRule (.*) /home/.../xyz.de/www/suchen/abc.php\?txt_eingabe=%1 [L]

Eine Weiterlesitung entshet zwingend, sobald man extern weiterleitet (logisch) oder den [R] angibt. Mein altes Muster hätte abr auch funktionieren müssen, den laut Doku ergibt:

^/somepath(.*) https://thishost/otherpath$1 /otherpath/pathinfo

Damit hätte es keine Weiterleitung geben dürfen, sondern nur ein 'umschreiben' .

Nochmls vielen Dank für die Hilfe.