brabbelj Geschrieben 22. Februar 2009 Geschrieben 22. Februar 2009 Hi, ich möchte folgendes Problem lösen: http://www.example.com/example.php soll auf http://www.example.com/index.php?page=example umgeleitet werden, die erste URL soll natürlich beim Client stehen bleiben. Jetzt habe ich folgende Mod_rewrite Rule erstellt: RewriteEngine On RewriteRule ^(.*)\.html$ index.php?page=$1 Diese Rule funktioniert einwandfrei, aber ich will ja .php nicht .html, wenn ich jetzt aber html durch php ersetze RewriteEngine On RewriteRule ^(.*)\.php$ index.php?page=$1 wird immer die index.php bzw default aufgerufen! In der $_GET["page"] steht auch index wieso? mfg brabbelj
xmurrix Geschrieben 22. Februar 2009 Geschrieben 22. Februar 2009 Hallo brabbelj, Hi, RewriteEngine On RewriteRule ^(.*)\.php$ index.php?page=$1 die Regel, die du da definiert hast ("{irgendwas}.php"), wirkt sich auch auf die index.php aus, die sollte vom Umschreiben ausgeschlossen werden. Wenn du vor der RewriteRule die Zeile RewriteRule ^index.php.*$ - [L] angibst, sollte es klappen. Manchmal sind zusätzliche Requestparameter enthalten, wenn du z. B. die Parameter in der URL http://www.example.com/example.php?foo=bar auch auch mit übergeben willst, was auch Sinn macht, dann kannst du die Regel folgendermaßen definieren. RewriteRule ^(.*)\.php$ index.php?page=$1 [QSA,L] QSA = Hängt den Querystring an die umschriebene Seite, also an die index.php L = Sorgt dafür, dass keine weiteren Regeln verarbeitet werden, wenn die definierte Zutrifft. Das kann hilfreich sein, wenn du mehrere Regeln hast und mod rewrite aber nicht alle abarbeiten soll, sondern dort aufhört, wo die Regel zutrifft. Gruß xmurrix
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden