مرحبا
link to index.php if file does not exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [QSA] #$_SERVER['PATH_INFO']
der dritte Block sagt:
Wenn es die Datei nicht gibt oder den Ordner nicht gibt dann leite auf die index.php weiter
Das funktioniert aber nur mit Links, die ins "Leere" zielen. Wenn du aber einen Ordner mit bspw. "css" hast, und innerhalb dieses Ordners auf eine nicht-existierende Ressource zugreifst, bekommst du einen Server-404, kannst es also auf deine Weise nicht abfangen.
Dein Bsp. ist gut, um Content aus der DB zu identifizieren, nicht aber um Fehlerseiten abzufangen.
Ich mache es seit Jahren wie folgt (das speichern der Fehler lasse ich hier aussen vor, gehört aber dazu):
## .htaccess Fehlermeldungen abfangen
ErrorDocument 401 /index.php?error_document=401
ErrorDocument 403 /index.php?error_document=403
ErrorDocument 404 /index.php?error_document=404
#index.php
if (isset($_GET['error_document']))
{
switch($_GET['error_document'])
{
case '401':
$_SERVER_ERROR = 401;
break;
case '403':
$_SERVER_ERROR = 403;
break;
case '404':
$_SERVER_ERROR = 404;
break;
}
}
mfg
--
Die neuen 4 Jahreszeiten: Frühling, ARSCHLOCH, Herbst und Winter!
Die neuen 4 Jahreszeiten: Frühling, ARSCHLOCH, Herbst und Winter!