[mod_rewrite] ALLES umleiten auf start.php?page=$1
MisterD
- sonstiges
0 Teufelchen0 Mr. D0 Alexander (HH)0 Mr.D
Hallo zusammmen!
Ich verusche seit einiger Zeit ALLES mit mod_rewrite umzuleiten. Vorher hatte ich einfach eine 404 Seite eingestellt doch dann bekommt die .php Seite die Post werte nicht mitgeteilt vom Browser.
Mein Zeil ist es das alles umgeleitet wird. Also example.com/abc.html genauso wie example.com/abc oder auch example.com/abc/
Und dann möchte ich in meiner PHP Datei später die angeforderte URL auslesen können um sie weiter zu verarbeiten.
Bei folgender Regeln (alle Dateien mit .html Endung) klappt es:
RewriteEngine On
RewriteRule (.*).html$ start.php?id=$1 [L]
Options +SymLinksIfOwnerMatch
Bei der auch:
RewriteRule (.*).html$ start.php?id=%{REQUEST_URI} [L]
Wenn ich aber jetzt das .html entferne, also das er alles umleitet, leitet er es zwar um doch die Variable die Übergeben wird ($1 oder %{REQUEST_URI}) steht nur start.php
Jemand eine Idee woran das liegt oder wie ich es ändern kann? Wäre euch sehr dankbar!
RewriteRule (.*).html$ start.php?id=%{REQUEST_URI} [L]
Wenn ich aber jetzt das .html entferne, also das er alles umleitet, leitet er es zwar um doch die Variable die Übergeben wird ($1 oder %{REQUEST_URI}) steht nur start.php
Jemand eine Idee woran das liegt
Weil dann wirklich alles abgefangen wird, einschließlich der Aufrufe von start.php. Du erzeugst damit eine Endlosschleife (die aber von mod_rewrite freundlicherweise abgefangen wird).
Du möchtest nicht alles verarbeiten, sondern alles außer start.php, das geht in etwa so:
RewritEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^start.php
RewriteRule .* start.php?id=%{REQUEST_URI}
Klingt einleuchtend. Vielen Dank!
Doch wenn ich das so einbaue kommt "500 Internat Server Error - The server encountered an internal error or misconfiguration and was unable to complete your request."
Jemand ne Idee wo da der Fehler leigt?
Moin Moin!
Jemand ne Idee wo da der Fehler leigt?
Steht im error_log auf dem Server.
Alexander
Steht im error_log auf dem Server.
Es fehlte ein "e" beie Rewrite.
Aber wenn ich das Script nutze bekomme ich statt der angeforderten Seite nur den Wert start.php zurück - jemand eine Idee woran das liegt?