"Your program doesn't work". Such reports cause technical support staff to be pulling their hair out. "In what way did it fail" they'll ask, hoping for some clue that can point them towards their caller's problem.
So why does on earth does an Apache httpd web server report:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
whenever anything goes wrong; it's roughly saying "That didn't work" !!
It's intentional! ... Httpd gives a generic message for all failures that may relate to scripts its running and how it's configured exactly so that the web site visitor who gets the message
won't be able to work out what's going wrong and
won't be able to glean internal / structure information that can help him find any weaknesses there may be.
The
web developer who looks after the web server, though, will be able to look in the log files and find a better message - such as:
[Thu Mar 30 20:02:44 2006] [error] [client 192.168.200.66] Undefined subroutine &main::loaltime called at /home/vweb/cgi-bin/t500.pl line 3.
which tells me that the Perl programmer who wrote the script wrote a call to a function loaltime rather than one called lo
caltime ... easily fixed!
If you want to change the less than helpful error message / error response page to your own less that helpful error page, you can use and ErrorDocument directive in your httpd.conf file, of in a .htaccess file if you want to do it on a per-directory basis. Example:
ErrorDocument 500 "/resources/failed500.html"
where the file failed500.html if your error page (written 2006-03-30 19:13:18)
Associated topics are indexed under
A603 - Web Application Deployment - Further httpd Configuration [2478] How did I do THAT? - (2009-10-26)
[2272] Monitoring and loading tools for testing Apache Tomcat - (2009-07-07)
[2060] Database connection Pooling, SSL, and command line deployment - httpd and Tomcat - (2009-03-01)
[1974] Moving a directory on your web site - (2009-01-03)
[1955] How to avoid duplicating web page maintainance - (2008-12-20)
[1954] mod_rewrite for newcomers - (2008-12-20)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1778] Pointing all the web pages in a directory at a database - (2008-08-30)
[1767] mod_proxy and mod_proxy_ajp - httpd - (2008-08-22)
[1762] WEB-INF (Tomcat) and .htaccess (httpd) - (2008-08-20)
[1707] Configuring Apache httpd - (2008-07-12)
[1636] What to do if the Home Page is missing - (2008-05-08)
[1619] User and Group settings for Apache httpd web server - (2008-04-22)
[1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
[1564] Default file (MiMe types) for Apache httpd and Apache Tomcat - (2008-03-04)
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath) - (2008-02-24)
[1551] Which modules are loaded in my Apache httpd - (2008-02-23)
[1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
[1355] .php or .html extension? Morally Static Pages - (2007-09-17)
[1351] Compressing web pages sent out from server. Is it worth it? - (2007-09-14)
[1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
[1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
[1080] httpd.conf or .htaccess? - (2007-02-14)
[1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
[934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
[853] To list a directory under httpd on a web server, or not? - (2006-09-02)
[755] Using different URLs to navigate around a single script - (2006-06-11)
[649] Denial of Service ''attack'' - (2006-03-17)
[631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
[550] 2006 - Making business a pleasure - (2006-01-01)
[526] Apache httpd - serving web documents from different directories - (2005-12-12)
[466] Separating 'per instance' data from binaries and web sites - (2005-10-16)
[345] Spotting a denial of service attack - (2005-06-12)
P221 - Perl on the Web [2551] Perl and the Common Gateway Interface - out of fashion but still very useful? - (2009-12-26)
[1198] From Web to Web 2 - (2007-05-21)
[975] Answering ALL the delegate's Perl questions - (2006-12-09)
[687] Presentation, Business and Persistence layers in Perl and PHP - (2006-04-17)
[641] Simple but rugged form handling demo - (2006-03-10)
[590] Danny and Donna are getting married - (2006-02-03)
[493] Running a Perl script within a PHP page - (2005-11-12)
[433] FTP - how to make the right transfers - (2005-09-01)
Some other Articles
Database design - get it right from first principlesPHP Image viewing applicationRuby course - oops - it's not happeningPython to MySQLAn unhelpful error message from Apache httpdDressed up for a phone callStopping and restarting Apache httpd cleanlyWeb Application ComponentsKeeping the visitors happy and browsingThe ternary operator in Python