summaryrefslogtreecommitdiff
path: root/doc/bugs
diff options
context:
space:
mode:
authorPeter Gammie <peteg42@gmail.com>2010-10-02 15:06:10 +1000
committerPeter Gammie <peteg42@gmail.com>2010-10-02 15:06:10 +1000
commitab9d6bae95821a117642ef96e708a26b2ad9953b (patch)
treef5199b79f53bd57625e986610e9f82e5abbf19c1 /doc/bugs
parent1620e2dc4f0a25620fe243d1556722e6b2d2618d (diff)
parent3fd58fc71bb47636036299a26ce85fa02c4d9b77 (diff)
Merge branch 'joey' into revert
Diffstat (limited to 'doc/bugs')
-rw-r--r--doc/bugs/404_plugin_and_lighttpd.mdwn10
1 files changed, 10 insertions, 0 deletions
diff --git a/doc/bugs/404_plugin_and_lighttpd.mdwn b/doc/bugs/404_plugin_and_lighttpd.mdwn
index e478d98c3..8508d0dcd 100644
--- a/doc/bugs/404_plugin_and_lighttpd.mdwn
+++ b/doc/bugs/404_plugin_and_lighttpd.mdwn
@@ -1,5 +1,15 @@
Lighttpd apparently sets REDIRECT_STATUS=200 for the server.error-handler-404 page. This breaks the [[plugins/404]] plugin which checks this variable for 404 before processing the URI. It also doesn't seem to set REDIRECT_URL.
+> For what it's worth, the first half is <http://redmine.lighttpd.net/issues/1828>.
+> One workaround would be to make this script your 404 handler:
+>
+> #!/bin/sh
+> REDIRECT_STATUS=404; export REDIRECT_STATUS
+> REDIRECT_URL="$SERVER_NAME$REQUEST_URI"; export REDIRECT_URL
+> exec /path/to/your/ikiwiki.cgi "$@"
+>
+> --[[smcv]]
+
I was able to fix my server to check the REQUEST_URI for ikiwiki.cgi and to continue processing if it was not found, passing $ENV{SEVER_NAME} . $ENV{REQUEST_URI} as the first parameter to cgi_page_from_404. However, my perl is terrible and I just made it work rather than figuring out exactly what to do to get it to work on both lighttpd and apache.
This is with lighttpd 1.4.19 on Debian.