X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=cgilite.sh;h=526a0fc738410dcfafa31017a836cc5ad7a71a03;hb=343a22a944f0300c5518e346ee1a85581741027c;hp=6a4a64881faa4bc2836061399974e733bcdba010;hpb=2218e82add4c42ca6ec30c49e0b9cded4dc1e14f;p=cgilite diff --git a/cgilite.sh b/cgilite.sh index 6a4a648..526a0fc 100755 --- a/cgilite.sh +++ b/cgilite.sh @@ -44,11 +44,11 @@ for cgilite_arg in "$@"; do case $cgilite_arg in esac; done unset cgilite_arg -_EXEC="${EXEC:-${0%/*}}" -_DATA="${DATA:-.}" -_EXEC="${_EXEC%/}" _DATA="${_DATA%/}" _BASE="${BASE%/}" +_EXEC="${_EXEC:-${0%/*}}" +_DATA="${_DATA:-.}" +_EXEC="${_EXEC%/}" _DATA="${_DATA%/}" _BASE="${_BASE%/}" -# Carriare Return and Line Break characters for convenience +# Carriage Return and Line Break characters for convenience CR=" " BR=' ' @@ -90,7 +90,7 @@ HEX_DECODE(){ *) out="${out}${in%"${in#?}"}"; in="${in#?}"; continue;; esac; - # Hex escaes for printf (e.g. \x41) are not portable + # Hex escapes for printf (e.g. \x41) are not portable # The portable way for Hex output is transforming Hex to Octal # (e.g. \x41 = \101) case $in in @@ -146,6 +146,7 @@ if [ -z "$REQUEST_METHOD" ]; then SERVER_PROTOCOL="${SERVER_PROTOCOL%${CR}}" PATH_INFO="$(HEX_DECODE % "${REQUEST_URI%\?*}" |PATH)" + PATH_INFO="$(PATH "/${PATH_INFO#${_BASE}}")" [ "${REQUEST_URI}" = "${REQUEST_URI#*\?}" ] \ && QUERY_STRING='' \ || QUERY_STRING="${REQUEST_URI#*\?}"