web-dev-qa-db-fra.com

Comment activer mod_rewrite pour un hôte virtuel

La règle mod_rewrite ne fonctionne pas sur l'hôte virtuel. J'ai voulu cela pour Cakephp.

Y a-t-il un paramètre pour ajouter le fichier hôte virtuel?

8
user12gk21hkj

Si vous utilisez la dernière version d'Apache 2.4+, voici comment activer mod_rewrite.

Passez à etc/Apache2/
Ouvrez Apache2.conf en utilisant votre éditeur de texte préféré.
Changement

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

à

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Puis enregistrez-le. Rappelez-vous que vous devez avoir la permission root pour éditer et sauvegarder ce fichier.
Maintenant redémarrez Apache.

service Apache2 reload

Ce processus activera mod_rewrite pour le serveur Apache, y compris l'hôte virtuel.

Vous pouvez également vérifier s'il est activé ou non. Créer un script php

<?php    
phpinfo();    
?>

Chargez-le depuis le serveur. Dans la section Loaded Modules, vérifiez si mod_rewrite est présent ou non. Si c'est là, il est activé.

19
Nabil

Activer la réécriture avec

# Sudo a2enmod rewrite

Puis redémarrez l’apcahe2 en utilisant

# service Apache2 restart

Activer dans Virtualhost en ajoutant

AllowOverride FileInfo

Puis redémarrez l’apcahe2 en utilisant

# service Apache2 restart

exemple:

<Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # I Have below line from none to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>
6
Babin Lonston