- Code: Select all
RewriteEngine On
RewriteBase /
ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 402 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 405 /error.php
...
Mein Problem ist, dass für das CMS folgender Code in der .htaccess verwendet wird:
- Code: Select all
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [QSA]
Dadurch wird alles an die index.php des CMS umgeleitet und die ErrorDocument-Anweisungen verlieren ihre Wirkung.
Nun war meine Idee, vor der obigen Anweisung alles umzuleiten, was nicht den Response-Code 200 liefert (später wollte ich das auf >=400 setzen). Dazu gibt es ja die Variable %{ENV:REDIRECT_STATUS}. Hier der Test-Code:
- Code: Select all
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(.*)$ /error.php?e=$1 [QSA,L]
Leider funktioniert das so nicht, die Variable %{ENV:REDIRECT_STATUS} scheint bei mir immer leer zu sein, zumindest bei den getesteten 200 und 404 Codes.
Gibt es eine Alternative für mich?