Con la configuración de Apache/mod_rewrite a continuación, aparece un error 403 prohibido para cualquier script CGI en la raíz /var/www/. No obtengo ningún error para archivos estáticos.
Los scripts fuera del directorio raíz, es decir, /var/www/random/script.cgi, funcionan normalmente sin errores.
Con RewritedEngine desactivado, los scripts CGI funcionan normalmente incluso en la raíz /var/www/
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
Options SymLinksIfOwnerMatch
AllowOverride All
<IfModule mod_rewrite.c>
RewriteEngine on
</IfModule>
</Directory>
<Directory /var/www/>
Options +ExecCGI
Options SymLinksIfOwnerMatch
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
AddHandler cgi-script .cgi
DirectoryIndex index.cgi
</Directory>
<Files "index.cgi">
SetHandler perl-script
PerlHandler ModPerl::PerlRunPrefork
Options ExecCGI
PerlSendHeader On
allow from all
</files>
Respuesta1
Intente copiar un script que esté funcionando en la raíz y vea si funciona en caso de que sea algo que no tenga que ver con la configuración. Utilice el indicador -p de cp para conservar aspectos como el permiso de ejecución. Por ejemplo:
cp -p /var/www/random/script.cgi /var/www/script.cgi