Domanda

Ho giocato con Apache CGI e sto cercando di eseguire uno script CGI quando viene richiesta un'estensione specifica del file.

Ho il seguente nel mio Apache2.Conf:

AddHandler handle .html
Action handle /use/lib/cgi-bin/test.pl virtual

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin>
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>
.

Quindi quando provo a richiedere una pagina HTML, ciao.html, dalla mia directory di documentroot ho un messaggio di errore che dice che non è riuscito a trovare un percorso che combina la posizione del mio script CGI e il file richiesto:

.

non trovato

L'URL richiesto /USR/lib/cgi-bin/test.pl/Hello.html non è stato trovato questo server.Server apache / 2.2.22 (Ubuntu) presso la porta Ryan-VirtualBox 80Not trovato

Perché il mio script CGI non sarebbe stato eseguito, e perché questo percorso combinato è stato presentato come non trovato?

Grazie in anticipo.

È stato utile?

Soluzione

Secondo Documentazione Mod_Actions , il CGI-Lo script è il percorso dell'URL in una risorsa. Quindi immagino che la tua direttiva azione dovrebbe essere riscritta:

Action handle /cgi-bin/test.pl virtual
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top