Malcolm Beck´s: Server Fehlermeldung umstellen

Beitrag lesen

مرحبا

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!