mod_rewrite no funciona en el directorio raíz web

mod_rewrite no funciona en el directorio raíz web

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

información relacionada