Hallo allemaal,
Ik kom niet uit mijn ErrorDocument directive binnen mod_rewrite. Ik heb een volgende .htaccess om alles goed te zetten:
Een verkeerde url krijgt vervolgens binnen de code een juiste 404 header meegestuurd (gecontroleerd). Toch blijft de browser leeg en wordt niet naar cms.localhost/error/404 gestuurd (waarbij cms.localhost het domein is waar alles op draait).
Ik heb een volgende site config aangemaakt voor apache:
Mij lijkt dat dit voldoende moet zijn. Toch vind ik niets terug van de ErrorDocument directive in de log:
Na wat zoeken zie ik dat slechts weinigen met dit systeem werken. Ik krijg het prima werkend zonder ErrorDocument. Zonder de mod_rewrite zal het vast ook wel werken. Deze combinatie maakt het denk ik best lastig. Iemand ideeën hoe ik dit kan fixen?
Ik kom niet uit mijn ErrorDocument directive binnen mod_rewrite. Ik heb een volgende .htaccess om alles goed te zetten:
code:
1
2
3
4
5
6
7
8
9
10
| AddDefaultCharset utf8
ErrorDocument 404 error/404
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L] |
Een verkeerde url krijgt vervolgens binnen de code een juiste 404 header meegestuurd (gecontroleerd). Toch blijft de browser leeg en wordt niet naar cms.localhost/error/404 gestuurd (waarbij cms.localhost het domein is waar alles op draait).
Ik heb een volgende site config aangemaakt voor apache:
code:
1
2
3
4
5
6
7
8
9
| <VirtualHost *:80> ServerName cms.localhost DocumentRoot /var/www/cms RewriteLog "/var/log/apache2/rewrite.log" RewriteLogLevel 0 <Directory /var/www/cms> AllowOverride All </Directory> </VirtualHost> |
Mij lijkt dat dit voldoende moet zijn. Toch vind ik niets terug van de ErrorDocument directive in de log:
127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (3) [perdir /var/www/cms/] add path info postfix: /var/www/cms/nl -> /var/www/cms/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (3) [perdir /var/www/cms/] strip per-dir prefix: /var/www/cms/nl/asdasd -> nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (3) [perdir /var/www/cms/] applying pattern '^(.*)$' to uri 'nl/asdasd' 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (4) [perdir /var/www/cms/] RewriteCond: input='/var/www/cms/nl' pattern='!-f' => matched 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (4) [perdir /var/www/cms/] RewriteCond: input='/var/www/cms/nl' pattern='!-d' => matched 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (2) [perdir /var/www/cms/] rewrite 'nl/asdasd' -> 'index.php/nl/asdasd' 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (3) [perdir /var/www/cms/] add per-dir prefix: index.php/nl/asdasd -> /var/www/cms/index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (2) [perdir /var/www/cms/] trying to replace prefix /var/www/cms/ with / 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (5) strip matching prefix: /var/www/cms/index.php/nl/asdasd -> index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (4) add subst prefix: index.php/nl/asdasd -> /index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b9676500/initial] (1) [perdir /var/www/cms/] internal redirect with /index.php/nl/asdasd [INTERNAL REDIRECT] 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b96784d0/initial/redir#1] (3) [perdir /var/www/cms/] add path info postfix: /var/www/cms/index.php -> /var/www/cms/index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b96784d0/initial/redir#1] (3) [perdir /var/www/cms/] strip per-dir prefix: /var/www/cms/index.php/nl/asdasd -> index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b96784d0/initial/redir#1] (3) [perdir /var/www/cms/] applying pattern '^(.*)$' to uri 'index.php/nl/asdasd' 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b96784d0/initial/redir#1] (4) [perdir /var/www/cms/] RewriteCond: input='/var/www/cms/index.php' pattern='!-f' => not-matched 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b96784d0/initial/redir#1] (1) [perdir /var/www/cms/] pass through /var/www/cms/index.php 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (3) [perdir /var/www/cms/] add path info postfix: /var/www/cms/nl -> /var/www/cms/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (3) [perdir /var/www/cms/] strip per-dir prefix: /var/www/cms/nl/asdasd -> nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (3) [perdir /var/www/cms/] applying pattern '^(.*)$' to uri 'nl/asdasd' 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (4) [perdir /var/www/cms/] RewriteCond: input='/var/www/cms/nl' pattern='!-f' => matched 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (4) [perdir /var/www/cms/] RewriteCond: input='/var/www/cms/nl' pattern='!-d' => matched 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (2) [perdir /var/www/cms/] rewrite 'nl/asdasd' -> 'index.php/nl/asdasd' 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (3) [perdir /var/www/cms/] add per-dir prefix: index.php/nl/asdasd -> /var/www/cms/index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (2) [perdir /var/www/cms/] trying to replace prefix /var/www/cms/ with / 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (5) strip matching prefix: /var/www/cms/index.php/nl/asdasd -> index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (4) add subst prefix: index.php/nl/asdasd -> /index.php/nl/asdasd 127.0.0.1 - - [25/Jan/2009:13:38:12 +0100] [cms.localhost/sid#b94d78a8][rid#b967f680/subreq] (1) [perdir /var/www/cms/] internal redirect with /index.php/nl/asdasd [INTERNAL REDIRECT]
Na wat zoeken zie ik dat slechts weinigen met dit systeem werken. Ik krijg het prima werkend zonder ErrorDocument. Zonder de mod_rewrite zal het vast ook wel werken. Deze combinatie maakt het denk ik best lastig. Iemand ideeën hoe ik dit kan fixen?