Как обратиться к скрипту Perl в страничке HTML
<meta http-equiv="Refresh" content="0; URL=http://localhost:80/cgi-bin/shownews.cgi">Так и должно быть, ты бы ещё header('Location: ...') попробовал.
этот вместо того, чтобы обращаться к скрипту и выполнять его на данной страничке, переходит непосредственно к скрипту (т.е. выдает результаты действия скрипта на новой странице - при этом в адресе высвечивается http://localhost:80/cgi-bin/shownews.cgi -, вместо того, чтобы выполнять на той же http://localhost:80/news.html )
2)<>Насколько я понимю, это SHTML-команда, соответственно, надо поставить его поддержку в apache.
эта строчка когда-то работала правильно, но сейчас ничего не делает, т.е. даже не обращается к скрипту.
как я уже написала, вторая строчка раньше работала
с тех пор поменялся комп и пути, но сам Apache остался тот же. Пути я исправила, но настройки не трогала.
можно все равно посмотреть настройки (стати, у файла news расширение .shtm).
где это проставляется? в mime.types? если там, то где конкретно?
расширение странички должно быть .shtml
я посмотрела логи Apache:
для первого варианта <meta http-equiv="Refresh" content="0; URL=http://localhost:80/cgi-bin/shownews.cgi"> в access.log есть строчка в которой Apache обращается к скрипту
а для <#exec cgi="/cgi-bin/shownews.cgi"--> он к скрипту вообще не обращается пишет что получил картинки и news.shtml а про скрипт ничего нет.
В error.log тоже нет никаких ошибок
значит конфиг апача надо править...
А с чем это может быть связано?
<Files ~ "\.(cgi|shtml)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi
<Directory "D:/usr/perl/bin">
Options ExecCGI
</Directory>
ScriptAlias "/__bin_dir__/" "D:/usr/perl/bin/"
Action application/x-perl "/__bin_dir__/perl.exe"
под венду не знаю, винда сукс и маздай!
что-то ему не понравилась в этой записи - Apache перестал загружаться
<Files ~ "\.(cgi|shtml)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
Я посмотрела httpd.conf на наличие SSLOptions - таких там нет.
грю, про венду не знаю...
понятно... Спасибо!
А в конце концов на news.html сделать фрейм с shownews.cgi?
под венду не знаю, винда сукс и маздай!Садись, два. Сам ты маздай.
По теме. В конфиге апача должен загружаться модуль mod_include, кроме того должны быть строчки
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
(это вариант для 2го апача, в первом, кажись, там как-то отличалось в каких-то древних версиях)
На счет чего-то там SSLOptions... РЖУНИМАГУ, при чем тут mod_ssl, если доступ к страничке осуществляется через HTTP ?
А в Options к папке, в которой cgi-скрипт, должен быть ExecCGI , впрочем это уже сказали... Ну, еще расшерение cgi должно быть проассоциировано с перлом...
А вообще, у апача в конфиге по умолчанию есть мануал: http://your_host_name:port/manual/
Либо, если ты его вырубил, можешь у меня посмотреть: http://mahoro-san.gznet.ru/manual/ (если ты в ГЗ)
Оставить комментарий
zakysj50
Есть два варианта:1)<meta http-equiv="Refresh" content="0; URL=http://localhost:80/cgi-bin/shownews.cgi">
этот вместо того, чтобы обращаться к скрипту и выполнять его на данной страничке, переходит непосредственно к скрипту (т.е. выдает результаты действия скрипта на новой странице - при этом в адресе высвечивается http://localhost:80/cgi-bin/shownews.cgi -, вместо того, чтобы выполнять на той же http://localhost:80/news.html )
2)<>
эта строчка когда-то работала правильно, но сейчас ничего не делает, т.е. даже не обращается к скрипту.
Подскажите, как нужно правильно?
ЗЫ. для Apache-сервера.