2013-07-19 13 views
15

Sto usando Ubuntu 12.04 LTS linux sulla mia macchina. Ho già installato LAMP su di esso. Ora voglio abilitare il modulo mod_rewrite. Ho fatto molto google e ho provato un sacco di trucchi, ma non potevo abilitare mod_rewrite. Qualcuno può aiutarmi a abilitare il mod_rewrite? Grazie in anticipo.Come abilitare mod_rewrite in LAMP su ubuntu?

risposta

66

Versione TL; DR - Effettuare le seguenti operazioni nel terminale:

sudo a2enmod rewrite && sudo service apache2 restart 

Con spiegazioni - effettuare le seguenti operazioni in il terminale:

ls -l /etc/apache2/mods-available/rewrite.load ///if it prints out rewrite.load, it's there and ready to go 

sudo a2enmod rewrite //enables the mod 

ls -l /etc/apache2/mods-enabled/rewrite.load // shows created symlink 

sudo vi /etc/apache2/sites-available/default //opens the file in vi (you can also use vim or nano) 

sostituire le occorrenze di "AllowOverride None" con "AllowOverride tutti" se necessario

sudo service apache2 restart ///restarts apache 

modificare i dati host virtuale in/etc/apache2/sites-available e aggiungere AllowOverride All al DocumentRoot. Il vostro ospite virtuale dovrebbe in ultima analisi, essere simile a questa:

<VirtualHost *:80> 
    ServerName example.com 
    DocumentRoot /var/www/vhosts/example.com 
    <Directory /var/www/vhosts/example.com> 
    AllowOverride all 
    </Directory> 
</VirtualHost> 

Anche se questo non è adatto per ambienti di produzione, funziona bene per lo sviluppo locale.

+0

: Grazie mille, sei così gentile con la descrizione di ogni passaggio. Ho accettato e upvoted la tua risposta. – PHPLover

+1

@ mike - ya ottima risposta, ma cud si cita anche cosa fare in ambiente di produzione o dare alcuni link per cercare tali casi –

+0

@StacyJ che sarebbe un po 'fuori tema per questa domanda. Leggi attentamente i commenti di /etc/apache2/apache2.conf o httpd.conf. Controlla http://httpd.apache.org/docs/current/misc/security_tips.html e https://help.ubuntu.com/12.04/serverguide/httpd.html per maggiori informazioni – mikedugan

5

Non hai parlato di quello che comanda non si tenta, quindi inizierò con la base uno:

sudo a2enmod rewrite 

si può anche verificare se il mod rewrite è già abilitare utilizzando:

apache2ctl -M