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.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.