|
Error 500: Bad script request - /QSYS.LIB/CGI.LIB/HTMLSRC.FILE not executable<<<<
Cause:Incorrect match of Exec rule.
Solution:See Description of "Forbidden - Path not valid for this server"
Error 403: Forbidden -- Path not valid for this server<<<<
Whenever a "Forbidden - Path not valid for this server" occurs when running a CGI program, the configuration directives have not been specified correctly.
Cause when a CGI program is requested:When a CGI program is requested, a Pass directive appears before an Exec directive. For example:
Pass qsys.lib/htmlcgi.lib/*
Exec qsys.lib/htmlcgi.lib/*
In this example any programs in library htmlcgi will not run because the Pass occurred before the Exec. Once a Pass condition is true, the server does not go further.
Solution when a CGI program is requested:Change the order of the directives to correct the problem. For example:
Exec /qsys.lib/htmlcgi.lib/*
Pass /qsys.lib/htmlcgi.lib/*
Note: Since the value mapped /qsys.lib/htmlcgi.lib/ is the same for both Pass and Exec, the combination above would correct a problem with using an incorrect directive but also leaves a directive in the file that could never be used.
The best way to avoid this problem is to use one of the following:
1.Use Exec and Pass directives with mapping:
Pass /doc/* qsys.lib/html.lib/*
Exec /cgi-bin/* qsys.lib/html.lib/*
2.Put the CGI programs in a separate library:
Exec /qsys.lib/htmlcgi.lib/*
Pass /qsys.lib/htmldoc.lib/html.file/*
Cause when a document is requested:When a document is requested, an Exec directive appears before a Pass directive. For example:
Exec qsys.lib/html.lib/*
Pass qsys.lib/html.lib/*
In this example any documents in library html will not be found because the Exec occurred before the Pass.
Solution when a document is requested:Change the order of the directives to correct the problem. For example:
Pass /qsys.lib/html.lib/*
Exec /qsys.lib/html.lib/*
Note: Since the value mapped /qsys.lib/html.lib/is the same for both Pass and Exec, the combination above would correct a problem with using an incorrect directive but also leaves a directive in the file that could never be used.
The best way to avoid this problem is to use one of the following:
1.Use Exec and Pass directives with mapping:
Pass /doc/* qsys.lib/html.lib/*
Exec /cgi-bin/* qsys.lib/html.lib/*
2.Put the CGI programs in a separate library:
Exec /qsys.lib/htmlcgi.lib/*
Pass /qsys.lib/htmldoc.lib/html.file/*
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.