Come abilitare mod_rewrite in Apache?

157

Ho appena installato lo stack LAMP sul mio sistema Ubuntu.

Il reindirizzamento non funziona per me. Non so come aggiustarlo. Qualcuno può aiutarmi?

    
posta vinoth 12.06.2011 - 15:45
fonte

2 risposte

231

Per abilitarlo nel modulo di riscrittura, esegui "apache2 enable module rewrite":

sudo a2enmod rewrite

È necessario riavviare il server Web per applicare le modifiche:

sudo service apache2 restart

Se prevedi di utilizzare mod_rewrite in .htaccess file, devi anche abilitare l'uso dei file .htaccess cambiando AllowOverride None in AllowOverride FileInfo . Per il sito web predefinito, modifica /etc/apache2/sites-available/default :

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

Dopo una tale modifica, è necessario riavviare nuovamente Apache.

risposta data Lekensteyn 12.06.2011 - 15:49
fonte
49

Ho il coraggio di aggiungere una risposta speciale (come seguito all'eccellente risposta sopra) riguardante ubuntu 14.04 e .htaccess :

In 14.04, il nome del file di configurazione predefinito viene modificato in 000-default.conf :

sudo gedit /etc/apache2/sites-available/000-default.conf

aggiungi quanto segue alla fine del file:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Per qualche ragione, in Ubuntu 14.04 e apache2 la root è impostata su /www/html . Se vuoi cambiare il root del web server al buon vecchio /www , open 000-default.conf e cambiare

DocumentRoot /var/www/html/

a

DocumentRoot /var/www/

e quindi fuori rotta dovrebbe essere

<Directory "/var/www">
    AllowOverride All
</Directory>
    
risposta data davidkonrad 17.10.2014 - 15:00
fonte

Leggi altre domande sui tag