Hallo Leute,
Wie kann ich es machen, dass x.php?page=home&artikel=1 zu http://www.domain.de/page/home/artikel/1/ wird?
Bzw. wonach muss ich suchen?
Danke im voraus
Hallo Leute,
Wie kann ich es machen, dass x.php?page=home&artikel=1 zu http://www.domain.de/page/home/artikel/1/ wird?
Bzw. wonach muss ich suchen?
Danke im voraus
war ich heute schon drauf. da steht nur:
"aus seite.php?id=12 wird seite_12.html"
Puh... xDDD
Habe versucht was ging, aber komme netmehr weiter xD
RewriteEngine on
RewriteRule ^(.*).(.*).?([-0-9a-z])*.=
RewriteEngine off
Alles anzeigen
Keine ahnung ob das bis jetzt richtig ist. xDDD
Es soll halt eine datei mit beliebigem dateinamen nehmen, dann mit beliebigem ende (php oder html [welches man ja auch php parsen lassn kann]) und dann sucht es halt nach dem ding nach dem fragezeichen. Keine ahnung verstehe das net xDD
bitte um hilfe
Also, ich erkläre mal ohne irgendwelche Links mit einem Beispiel von mir:
Meine .htaccess (verkürzt auf relevante Bereiche) sieht so aus:
Zuerst wird mal gesagt, dass jetzt umgeschrieben werden soll.
Danach kommt die RewriteBase, sprich wofür das ganze gilt - in meinem Fall ist es mein Blog, der im Verzeichnis 'blog' im Ordner htdocs von XAMPP, somit ist ist die Base /blog/.
RewriteRule ^[-0-9a-z]*-mitglied-([0-9]+)\.htm$ mitglied.php?id=$1
RewriteRule ^[-0-9a-z]*-mitglied-([0-9]+)\.php$ mitglied.php?id=$1
Dies sind mal zwei Einträge. Ziel ist, dass URLs des Musters benutzername-mitglied-id.htm oder benutzername-mitglied-id.php herauskommen. Natürlich könnte man die beiden auch zusammenfassen, aber der Einfachheit halber mal so. Unterschieden wird zwischen eckigen Klammern [] und runden Klammern (). In den eckigen Klammern steckt der reguläre Ausdruck, nach dem gesucht werden soll, dieser ist zur Umschreibung NICHT relevant. Somit dient der Benutzername hier lediglich der Optimierung der URL - man sieht auf einen Blick, welches Profil man hier gerade aufruft.
Runde Klammern dagegen übergeben einen Wert zum Umschreiben der URL. In diesem Fall wird hier die ID des Mitglieds übergeben, die aus ein oder mehreren Zahlen bestehen kann. Der Wert in den Klammern wird in der Variable $1 gespeichert - und die wird dann per GET an die mitglied.php übergeben (zweiter Teil der RewriteRule). Hier immer nochmal überprüfen, ob auch wirklich das übergeben wurde was man wollte - ich überprüfe dann in der mitglied.php mit ctype_digit, ob auch wirklich eine Zahl übergeben wurde.
Ich hoffe das war einigermaßen verständlich.
Bei Fragen gerne fragen
Grüße
Ich komme einfach nicht mehr weiter.!
php datei:
<?php
echo "Page: ".$_GET['page'];
echo "<br />";
echo "Artikel: ".$_GET['artikel'];
?>
Alles anzeigen
.htaccess
RewriteEngine on
RewriteBase /test/
RewriteRule ^.*/page/(.*)/artikel/(.*)$ index.php?page=$1&artikel=$2
RewriteEngine off
Alles anzeigen
Ich kann die Seite http://localhost/test/index.php/page/home/artikel/1 zwar aufrufen aber es werden keine werte an $_GEt übergeben -.-
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.