brabbelj Geschrieben 22. Februar 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xmurrix Geschrieben 22. Februar 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.