The Apache server interprets that URL as /QSYS.LIB/PARTNER400.LIB/RESTSRV1/PART1.PGM
Which is probably why you are having the issue.
Are you saying this actually worked on V7R1?
Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the author and do not necessarily represent those of the company.
-----Original Message-----
From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon Paris
Sent: Saturday, May 13, 2017 5:30 PM
To: Web400@Midrange. Com <web400@xxxxxxxxxxxx>
Subject: [WEB400] Changes/Bugs in Apache?
I have this directive in my Apache config (actually in the vhosts but ...)
ScriptAliasMatch ^/CGI/(.*) /QSYS.LIB/PARTNER400.LIB/$1.PGM
I have not changed it (honestly) and I am sure that it has been working for years. This might be the first time I have used it since moving to V7R3.
When I try to use it with a REST web service (i.e. additional data in the URL) I am getting very strange results.
This URL
http://partner400.com/cgi/prodrpt2oa <
http://partner400.com/cgi/prodrpt2oa> works just fine and runs the script correctly.
This one
http://partner400.com/cgi/restsrv1/part1 <
http://partner400.com/cgi/restsrv1/part1> gives
Not Found
The script request is not valid. The script is not executable.
The log indicates that no PGM object was identified. So just for chuckles I added .pgm to the base URL i.e:
http://partner400.com/cgi/restsrv1.pgm/part1 <
http://partner400.com/cgi/restsrv1.pgm/part1>
That works - kind of ... the correct routing takes place and the script is called BUT the ".pgm" text then gets _added_ to the end of the URL. i.e. "part1" is actually passed to the script as "part1.pgm". If I add a / following "part1" then ".pgm" is seen as the next element in the path.
I've searched for PTFs on the topic but am seeing nothing.
Anyone got any ideas? This is an Apache feature that we use a lot and the .pgm workaround will not work for some scripts. For example this URL
http://partner400.com/cgi/restsrv2.pgm/quantityquery/?partnum=0000011&quantity=5 <
http://partner400.com/cgi/restsrv2.pgm/quantityquery/?partnum=0000011&quantity=5> tags the ".pgm" onto the end of quantityquery <
http://partner400.com/cgi/restsrv2.pgm/quantityquery/?partnum=0000011&quantity=5> even when the trailing / is present as shown.
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list To post a message email: WEB400@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/web400.
As an Amazon Associate we earn from qualifying purchases.