Veröffentlicht 22. Februar 200916 j 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
22. Februar 200916 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.