]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/bugs/404_plugin_and_lighttpd.mdwn
patchmeister
[git.ikiwiki.info.git] / doc / bugs / 404_plugin_and_lighttpd.mdwn
index ffbad8adda2531d1785d918164898a76cd09306c..8508d0dcd6df94e3cc07da36c5139e87274f2e0a 100644 (file)
@@ -1,4 +1,14 @@
-Lighttpd apparently sets REDIRECT_STATUS=200 for the server.error-handler-404 page. This breaks the 404 plugin which checks this variable for 404 before processing the URI. It also doesn't seem to set REDIRECT_URL.
+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.
 
 
 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.