/ домой \ | \ темы / |
07/01/2008 00:54 Gebb: |
В документации на error=path\name.ext сказано "Файл ошибки. Полный путь к файлу или скрипту возвращаемому при отсудствии запрошенного файла. Для скриптов и SSI переменная QUERY_STRING будет содержать имя запрошенного файла." 1) Скрипт мой так и не запустился при указании его в error, хотя с ним всё в порядке. Сервер сообщает что-то типа error running script. 2) Я получаю пустую переменную QUERY_STRING в SSI-файле. В остальном SSI работает нормально. Вывод <!--#printenv --> довольно странный: HTTP: default) Error. File not found. =ror. File not found. HOST=192.168.0.117:8080 ACCEPT=text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 ACCEPT_LANGUAGE=ru-RU,ru;q=0.9,en;q=0.8 ACCEPT_CHARSET=iso-8859-1, utf-8, utf-16, *;q=0.1 ACCEPT_ENCODING=deflate, gzip, x-gzip, identity, *;q=0 CONNECTION=Keep-Alive, TE TE=deflate, gzip, chunked, identity, trailers DATE_GMT=06/01/2008 18:37:49 DATE_LOCAL=07/01/2008 00:37:49 QUERY_STRING= SERVER_PORT=8080 REMOTE_ADDR=192.168.0.117 QUERY=_test_ Request: \info2.html= \info2.html - это отсутствующий файл, к которому обратился клиент. Как заставить сервер заполнять QUERY_STRING именем файла, который запросил клиент? P.S.: В целом отличная прога, спасибо автору! |
07/01/2008 06:39 Max: |
Вообще имя запршенного файла кладется в PATH_INFO, но из SSI он не виден. Виден только из CGI
|
07/02/2008 00:58 Gebb: |
Ошибка у меня в тексте. localhost:8080/ следует читать как localhost/ |
07/02/2008 00:57 Gebb: |
Баг в запуске скрипта, прописанного в конфиге после error=. Как воспроизвести. 1. Установить shttp в папку по умолчанию (C:\shttps\). 2. Положить в папку C:\shttps\www\ какой-нибудь валидный файл index.html 2. Положить в папку C:\shttps\www\cgi-bin\ файл notfound.bat следующего содержания: @echo off echo Location: / echo. echo. 3. Прописать в http.cfg следующее: error="c:\shttps\www\cgi-bin\notfound.bat" 4. Запустить сервер на порту 80. 5. Открыть в броузере ссылку Link temporary removed В броузере отображается следующее: Error run \cgi-bin\notfound.bat with \non-existent.html Ожидаемое поведение: переход по адресу Link temporary removed и показ файла index.html Если же задать адрес скрипта напрямую: Link temporary removed То скрипт отрабатывает нормально. Судя по всему, файл notfound.bat даже не запускается, когда пользователь пытается обратиться к несуществующему файлу. |