httpd.confの中の
Exec template scriptの template と一致した場合のみ、scriptを CGIとして起動する。 (Exec設定) template および script の中のワイルドカード `
*' はCGIのファイル名以降すべてを指し、
ここからCGIスクリプトのパス名と PATH_INFO を取り出す。httpd.confに
Exec /cgi-bin/* /usr/lib/httpd/cgi-bin/*と設定されているとする。
http://samplehost/cgi-bin/test-cgi/pathinfo?keyword1+keyword2へアクセスすると、サーバーは
PATH_INFOに/pathinfoを
設定し、
QUERY_STRINGにkeyword1+keyword2を
設定し、
/usr/lib/httpd/cgi-bin/test-cgi keyword1 keyword2を
実行する。
QUERY_STRING に `=' が
含まれていないため、サーバーはこれをISINDEX形式と解釈して
argvに QUERY_STRING をデコードして渡す。
http://samplehost/cgi-bin/test-cgi/name=John+Doe&gender=maleへGETメソッドでアクセスすると、
QUERY_STRINGにname=John+Doe&gender=maleを
設定し、
/usr/lib/httpd/cgi-bin/test-cgiを
実行する。='が含まれているので
argv[1]は空である。