Apache .htaccess <ifModule non consentito qui


13

Esecuzione di Apache su Ubuntu Precise, con PHP 5.5

Cercare di accedere al mio var/www/mi dà un 500.

/var/log/apache2/error.log

Spettacoli:

/var/www/web/.htaccess: <IfModule not allowed here

il mio .htacess è:

DirectoryIndex app.php


<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>       
        RedirectMatch 302 ^/$ /app.php/       
    </IfModule>
</IfModule>

Nel mio apache.conf ho aggiunto:

<Directory />
AllowOverride ALL
</Directory>

E ha funzionato dopo che ho riavviato Apache.

Risposte:


25

Devi configurare il tuo apache per abilitare la configurazione dal file .htaccess. Quindi nella sezione directory assicurati di avere l'opzione

Allowoverride ALL 

per ulteriori informazioni ulteriori informazioni su allowoverride .

Nel tuo setup se usi solo mod_rewrite forse puoi impostare solo FileInfo, ho sempre impostato il parametro Options su SymLinksIfOwnerMatch per poter eseguire il reindirizzamento verso altri siti.

Allowoverride FileInfo 
Options SymLinksIfOwnerMatch

Spero che sia di aiuto, se hai già impostato questa configurazione, aggiungi le informazioni con la configurazione del tuo host virtuale.


Questa è una nuova installazione di Apache. Non ho una sezione <Directory /> in apache2.conf. Ho aggiunto il mio aggiornamento sopra. Grazie
Kiksy il

Ho dimenticato di riavviare Apache. Adesso funziona.
Kiksy,

1
Da parte mia avevo una Directorydirettiva mancante . Una volta aggiunto, ha funzionato correttamente. Suppongo che questo sia nuovo nella versione 2.4 di Apache perché funzionava con 2.2 ...
Alexis Wilke,

1
Sì, il valore predefinito per Allowoverride è cambiato in Apache 2.3.9.
mlissner,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.