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?
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é.
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>