[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Trouble avec un script CGi



On Wed, Jul 19, 2000 at 09:36:32PM -0400, Benoit Galarneau wrote:
> Salut...
> 
> et jai inséré la commande suivante:
> <!--exec cgi="/home/httpd/cgi-bin/compteur.cgi"-->
> à partir du fichier index.html... (J'ai essayé de le nommer
> index.shtml sans succès)

Les server-side include ne sont peut-etre pas enabler dans Apache.

Aussi habituellement, tu dois utiliser l'extension .shtml

Ca veut aussi dire enabler plein d'option dans Apache. Assure toi que
tu aies ces options dans Apache (si non ajoute les pas à la fin mais au
bon endroit.)

LoadModule includes_module    libexec/mod_include.so
AddModule mod_include.c

AddType text/html .shtml
AddHandler server-parsed .shtml

Aussi, dans les options de <Directory> ou <Location> qui s'applique
au dossier où l'on trouve tes documents html avec server-side include,
tu dois rajouter "Includes" au keyword "Options".

Si tu veux egalement parser des .html il faut que tu traites les .html
comme des "server-parsed" avec:

AddHandler server-parsed .html

Ou utliser :

XBitHack on

dans ton <Directory> ou globalement pour que les .html avec executable
bit pour l'owner soit traité comme du server-parsed.


Mais je te dis cela seulement en lisant la documentation d'Apache, je
n'ai pas esseyé. Je te donnerais bien un lien si Videotron n'avait pas
autant de problème avec ses back-bones.



> 
> Lorsque je load la page web ca marche pas.. (Pas d'incrément au
> compteur)
> 
> Par contre lorsque je tappe l'adresse:
> http://192.168.1.1/cgi-bin/compteur.cgi dans netscape.
> 
> ca fait le truc suivant:
> Internal Server Error
> The server encountered an internal error or misconfiguration and was unable to complete your request.

Pour qu'un CGI puisse envoyer qqch a l'usager dans son browser, il faut
qu'il envoye un MIME header en premier et ensuite le data.

Genre pour afficher une page web comme output d'un CGI, il faut printer
en premier (sans ligne vide avant):

content-type: text/html

suivi d'une ligne vide et d'ensuite le text de la page web. 

Apache fait ça automatiquement pour les pages web mais pas pour les
CGI. Ainsi un CGI peut envoyer un fichier si il utlise par exemple le type
"application/octet-stream".



Hugo Villeneuve