mod_rewrite Problem
Bobby
- webserver
Moin
hab mal wieder ein Verständnisproblem mit mod_rewrite:
ich habe eine URL:
www.meinedomain.de/DE/irgendeinlayout/hotel-suche/suche/view.php?sv=1
Dieser soll per modrewrite folgendermaßen aussehen:
www.meinedomain.de/hotel-suche/suche/view.php?sv=1&lang=DE&layout=irgendeinlayout
Dazu hab ich die htacces folgendermaßen geschrieben:
RewriteRule ([A-Z]{2})/(.*)/(.*)$ $3?lang=$1&layout=$2&%{QUERY_STRING}
Nun sieht die ersetzte URL wie folgt aus:
www.meinedomain.de/view.php?sv=1&lang=DE&layout=irgendeinlayout
warum ist der Pfadteil: hotel-suche/suche/ ebenfalls ersetzt? Wo ist mein Fehler?
Gruß Bobby
Hi,
ich habe eine URL:
www.meinedomain.de/[...]
die Domain gehört Schlund+Partner, Du sitzt also bei mir im Haus. In Deiner Umgebung sollte es haufenweise Leute geben, die sich mit RegExp auskennen; falls Du keinen findest, komm einfach bei mir vorbei. Ich sitze im 4. Stock.
Cheatah
Moin
die Domain gehört Schlund+Partner, Du sitzt also bei mir im Haus. In Deiner Umgebung sollte es haufenweise Leute geben, die sich mit RegExp auskennen; falls Du keinen findest, komm einfach bei mir vorbei. Ich sitze im 4. Stock.
Scherzkeks!!!! :-D
Gruß Bobby
Mahlzeit,
Scherzkeks!!!! :-D
Nein, er hat absolut Recht. Genau für derartige Zwecke existieren die "Pseudo-Domains" example.com, example.net und example.org ... versuch doch mal eine der genannten in die Adressleiste Deines Browsers einzugeben.
MfG,
EKKi
Moin
Nein, er hat absolut Recht. Genau für derartige Zwecke existieren die "Pseudo-Domains" example.com, example.net und example.org ... versuch doch mal eine der genannten in die Adressleiste Deines Browsers einzugeben.
Werde ich demnächst benutzen, tut aber eigentlich nix zur Sache, da es nur ein beispiel war und somit für unter Krümelkackerei fällt. Es ging ja ums Prinzip!
Gruß Bobby
Mahlzeit,
Werde ich demnächst benutzen, tut aber eigentlich nix zur Sache,
Doch, genau das tut es. Wenn Du nämlich theoretisch mögliche und ggf. sogar existierende Domain-Namen in Beispielcode verwendest, wundern sich die Betreiber dieser Domains u.U. über den dadurch entstehenden Traffic, es kommen dort vielleicht sogar Formulardaten oder Emails mit möglicherweise kompromittierenden Daten an usw.
da es nur ein beispiel war
Hm, lass mich kurz überlegen, was bedeutet "example" nochmal vom Englischen ins Deutsche übersetzt ... gerade WEIL es ein Beispiel ist, sind die genannten Domains diejenigen, die dafür benutzt werden sollen - extra für diesen Zweck wurden sie ins Leben gerufen.
und somit für unter Krümelkackerei fällt.
Sicher. Recht hab ich trotzdem. ;-)
Es ging ja ums Prinzip!
Genau so ist es. Es geht ums Prinzip. Und prinzipiell sind die genannten Domains für Beispiele zu benutzen ... :-)
MfG,
EKKi
echo $begrüßung;
Nein, er hat absolut Recht. Genau für derartige Zwecke existieren die "Pseudo-Domains" example.com, example.net und example.org ... versuch doch mal eine der genannten in die Adressleiste Deines Browsers einzugeben.
Werde ich demnächst benutzen, tut aber eigentlich nix zur Sache, da es nur ein beispiel war und somit für unter Krümelkackerei fällt. Es ging ja ums Prinzip!
Kleiner Literaturtipp:
http://www.heise.de/newsticker/Und-ich-sach-noch-Bitte-nicht-auf-diese-E-Mail-antworten--/meldung/105427
http://www.donotreply.com/
echo "$verabschiedung $name";
Mahlzeit,
die Domain gehört Schlund+Partner, Du sitzt also bei mir im Haus. In Deiner Umgebung sollte es haufenweise Leute geben, die sich mit RegExp auskennen; falls Du keinen findest, komm einfach bei mir vorbei. Ich sitze im 4. Stock.
MfG,
EKKi
Mahlzeit,
hab mal wieder ein Verständnisproblem mit mod_rewrite:
Nein, Du hast ein Verständnisproblem mit regulären Ausdrücken. :-)
RewriteRule ([A-Z]{2})/(.*)/(.*)$ $3?lang=$1&layout=$2&%{QUERY_STRING}
Also ich spiele mal RegExp-Interpreter, OK?
Zuerst 2 Großbuchstaben (diese merken), dann ein Schrägstrich, dann eine beliebige Anzahl beliebiger Zeichen (diese merken) ... fertig!
Besser wäre: ([A-Z]{2})/([^/]+)/(.*)$
warum ist der Pfadteil: hotel-suche/suche/ ebenfalls ersetzt? Wo ist mein Fehler?
"." bedeutet in einem regulären Ausdruck wirklich "JEDES beliebige Zeichen" - auch "/" ...
MfG,
EKKi
Moin
Nein, Du hast ein Verständnisproblem mit regulären Ausdrücken. :-)
Ja. hast recht.
Besser wäre: ([A-Z]{2})/([^/]+)/(.*)$
das funktioniert... Danke
Gruß Bobby
www.meinedomain.de/DE/irgendeinlayout/hotel-suche
RewriteRule ^/?(<ausdruck1 x>)/(<ausdruck2 y)/(<ausdruck3 z)$ view.php?X=$1&Y=$2&Z=$3
Es kommt immer drauf an wo du bist - sprich der Pfad der Datei.
Moin
Moin
hab mal wieder ein Verständnisproblem mit mod_rewrite:
ich habe eine URL:
www.meinedomain.de/DE/irgendeinlayout/hotel-suche/suche/view.php?sv=1Dieser soll per modrewrite folgendermaßen aussehen:
www.meinedomain.de/hotel-suche/suche/view.php?sv=1&lang=DE&layout=irgendeinlayout
Dazu hab ich die htacces folgendermaßen geschrieben:
RewriteRule ([A-Z]{2})/(.*)/(.*)$ $3?lang=$1&layout=$2&%{QUERY_STRING}
Nun sieht die ersetzte URL wie folgt aus:
www.meinedomain.de/view.php?sv=1&lang=DE&layout=irgendeinlayout
warum ist der Pfadteil: hotel-suche/suche/ ebenfalls ersetzt? Wo ist mein Fehler?
OK. ich habe es verstanden. Als String2 wird die Zeichenkette "irgendeinlayout/hotel-suche/" genommen. Aber wie kann ich nun Modrewrite anweisen den veränderbaren String 2 nur die zeichenkette "irgendeinlayout" zu ersetzen?
Gruß Bobby