mod_rewrite não está funcionando no diretório raiz da web

1

Com a configuração do Apache / mod_rewrite abaixo, recebo um erro 403 proibido para qualquer script CGI na raiz / var / www / Eu não recebo nenhum erro para arquivos estáticos.

Scripts fora do diretório raiz, ou seja, /var/www/random/script.cgi funcionam normalmente sem erros.

Com o RewritedEngine DESLIGADO, os scripts CGI funcionam normalmente, mesmo na raiz / 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>  
    
por user3518089 18.06.2015 / 02:02

1 resposta

0

Tente copiar um script que esteja trabalhando para a raiz e veja se funciona, caso seja algo que não tenha a ver com o conf. Use o sinalizador -p do cp para preservar coisas como permissão de execução. Por exemplo:

cp -p /var/www/random/script.cgi /var/www/script.cgi

    
por 18.06.2015 / 02:43