
Mit Webmin habe ich einen virtuellen Apache-Server unter Ubuntu 18.04 eingerichtet. Die Serveranweisungen lauten:
DocumentRoot /home/name/public_html
ServerName www.name.com
<Directory "/home/name/public_html">
allow from all
Options None
Require all granted
Options ExecCGI
</Directory>
Ich habe Perl-Skripte in zwei Verzeichnissen, /cgi-bin/A/a.cgi und /cgi-bin/B/b.cgi. Ich habe zwei PHP-Skripte, die zwei Webseiten bereitstellen, a.php und b.php, mit Links, die auf diese Skripte verweisen. Wenn ich auf <a href="/cgi-bin/A/a.cgi" klicke, funktioniert der Link korrekt und das Perl-Skript gibt seine Ausgabe zurück. Wenn ich jedoch auf <a href="/cgi-bin/B/b.cgi" klicke, erhalte ich die Meldung „Skript nicht gefunden oder kann nicht ausgeführt werden: /usr/lib/cgi-bin/B“.
Ich bin verwirrt, warum der erste Link funktioniert, der zweite aber nicht, obwohl sie ansonsten identisch sind. Warum ersetzt Apache den Dateipfad /cgi-bin/B durch /usr/lib/cgi-bin/B, aber nicht durch /cgi-bin/A? Vielen Dank im Voraus für Ihre Hilfe.