Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Code: Alles auswählen
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} haus\.php$
RewriteCond %{QUERY_STRING} ([^_]+)_([^_]+)$
RewriteRule ^(.*)$ haus.php?country=%1&city=%2
Wozu brauchst du das? Falls es darum geht, in haus.php auf $_GET["country"] und $_GET["city"] zugreifen zu können, solltest du das statt mit mod_rewrite besser im Skript selbst lösen, in etwa so:Richie_Rich hat geschrieben:ich möchte eine url mit der form:
domainname.de/haus.php?Deutschland_München
in die form:
domainname.de/haus.php?country=Deutschland&city=München
bringen
Code: Alles auswählen
if (preg_match('/^([^_]+)_([^_]+)$/', $_SERVER["QUERY_STRING"], $m) != 1) {
// Parameter entsprechen nicht Format Stadt_Land
}
else {
$_GET["stadt"] = $m[1];
$_GET["land"] = $m[2];
}
Die erste RewriteCond-Zeile ist überflüssig, RewriteRule kann den URL-Pfad selbst prüfen:bloddy newbie hat geschrieben:RewriteCond %{REQUEST_URI} haus\.php$
RewriteCond %{QUERY_STRING} ([^_]+)_([^_]+)$
RewriteRule ^(.*)$ haus.php?country=%1&city=%2
Sehe ich auch so.Mork vom Ork hat geschrieben: ...
Das funktioniert genauso gut, du hast alles an einer Stelle und du sparst einen arbeitsreichen Umweg.
ist letzten Endes egal ob mittels Cond oder Rule geprüft wird meinste nicht?Mork vom Ork hat geschrieben: Die erste RewriteCond-Zeile ist überflüssig, RewriteRule kann den URL-Pfad selbst prüfen:
RewriteCond %{QUERY_STRING} ([^_]+)_([^_]+)$
RewriteRule ^haus\.php$ haus.php?country=%1&city=%2
Die Funktion ist die gleiche, da hast du recht. Aber wozu umfangreich, wenn's auch kürzer geht - und noch dazu auf dem vorgesehenen Wege. Warum die halbe RewriteRule-Funktion brach liegen bzw. nutzlos ausführen lassen? Wenn man schon den Pfad prüft, dann doch gleich mit dem richten Muster anstatt erst auf .* vergleichen zu lassen und gleich danach auf haus\.php.bloddy newbie hat geschrieben:ist letzten Endes egal ob mittels Cond oder Rule geprüft wird meinste nicht?Mork vom Ork hat geschrieben: Die erste RewriteCond-Zeile ist überflüssig, RewriteRule kann den URL-Pfad selbst prüfen:
RewriteCond %{QUERY_STRING} ([^_]+)_([^_]+)$
RewriteRule ^haus\.php$ haus.php?country=%1&city=%2
Deswegen hatte ich beim Schreiben von „Aber wozu umfangreich, wenn's auch kürzer geht“ auch ein leichtes Grummeln im Bauch, das dann zu der längeren Erklärung geführt hat :)bloddy newbie hat geschrieben:Kürze ist beim Programmieren nicht immer Alles,