.htaccess RewriteRule
Core
- https
Beispiel 1:
RewriteEngine On
RewriteRule ^registration index.php?user=registration
Beispiel 2:
RewriteEngine On
RewriteRule ^seite_([a-z]+).html$ index.php?user=$1
Hi Leute,
vorweg ich habe kaum Ahnung von htaccess und bin diesbezüglich ein
blutiger Anfänger. Trotzdem hoffe ich das ihr mir weiter helfen könnt.
Meine Frage wäre:
Wenn ich in Beispiel 1 meine URL aufrufe (localhost/registration)
ändert sich im Browser nach einer Sekunde die URL - in der URL
Leiste in "index.php?user=registration".
In Beispiel 2 jedoch ändert sich die URL in der URL Leiste nicht!
localhost/seite_registration.html bleibt erhaltet und nur im Hintergrund
wird localhost/index.php?user=registration geladen,..
Woran liegt das und wie bekomme ich das bei Beispiel 1 auch so hin?
Ich wäre euch sehr für eine Hilfestellung dankbar!
lG
Core
hi,
Woran liegt das und wie bekomme ich das bei Beispiel 1 auch so hin?
Ich wäre euch sehr für eine Hilfestellung dankbar!
Im ersten Fall findet eine Umleitung (Redirect, Location-Header) statt, im Zweiten nicht.
Hotti
Hi!
Beispiel 1:
RewriteEngine On
RewriteRule ^registration index.php?user=registration
> Beispiel 2:
> ~~~apache
RewriteEngine On
> RewriteRule ^seite_([a-z]+).html$ index.php?user=$1
Apache-Konfigurationsanweisungen sind kein PHP-Code. Sie als solche zu kennzeichnen ist sinnfrei. Das Forum kennt auch [code lang=apache]
Wenn ich in Beispiel 1 meine URL aufrufe (localhost/registration)
ändert sich im Browser nach einer Sekunde die URL - in der URL
Leiste in "index.php?user=registration".
Die Ursache dafür ist nicht in der RewriteRule zu erkennen. Sie sollte eigentlich keinen Redirect auslösen. Das würde geschehen, wenn du eine absolute URL (mit http... beginnend) angeben würdest.
In Beispiel 2 jedoch ändert sich die URL in der URL Leiste nicht!
localhost/seite_registration.html bleibt erhaltet und nur im Hintergrund
wird localhost/index.php?user=registration geladen,..
Da findet nur ein interner Redirect statt.
Woran liegt das und wie bekomme ich das bei Beispiel 1 auch so hin?
Zunächst gilt es, die Ursache herauszufinden. Wenn du mit Tools wie der Livehttpheaders-Extension für den Firefox nachschaust, was sich zwischen Browser und Server abspielt, könnte man vielleicht etwas Sachdienliches beobachten. Vielleicht aber auch nicht. Ein Verdächtiger könnte auch das aufgerufene Script sein. Hast du da mal allen Code deaktiviert und nur einen "Hier bin ich"-Text drin gelassen? Und wenn es hoch kommt, müsstest du mal die ablaufenden Vorgänge im RewriteLog nachschauen, was aber administrativen Zugang zum Apachen voraussetzt, denn das kann man nicht in der .htaccess einschalten.
Lo!