J'utilise Wordpress et je voulais activer la fonctionnalité des jolies URL, mais elles ne fonctionnent pas, je pense que c'est à cause de mod_rewrite, mais je ne sais pas comment l'activer sur Apache 2.4 sous CentOS 7 ...
J'ai déjà essayé ceci:
grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite
mais rien ... voudrait également savoir que le chargement de tous les modules Apache a une mauvaise conséquence ou est-ce une mauvaise pratique?
J'ai trouvé le moyen de savoir si un module est chargé ou non, voici la commande pour lister les modules activés:
apachectl -M | sort
Il listera tous les modules activés par ordre alphabétique.
Wordpress a un .htaccess mais par défaut où il active rewrite_module
pour son utilisation:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
La seule chose que je devais faire était d'ajouter ceci dans le fichier vhost.conf à /etc/httpd/conf.d/vhosts.conf
<Directory /var/www/mysite>
Options Indexes FollowSymLinks
Require all granted
AllowOverride All
</Directory>
C'est parce que je gère mes hôtes dans ce fichier. Mais cela pourrait être fait à httpd.conf
, ou à n’importe quel autre fichier .conf
inclus dans le httpd.conf
Merci...
# nano /etc/httpd/conf/httpd.conf
trouver
follow (AllowOverride none)
et le changer
(AllowOverride All)
Apache2 est livré avec les exécutables a2enmod
et a2dismod
qui feront tout le "travail sale" de symlinking des fichiers conf.
Sur les distributions basées sur Debian, l’emplacement habituel est /etc/Apache/mods-available/
. Voici les fichiers de configuration .conf (le cas échéant) et un fichier .load par module avec la directive LoadModule
Apache2. Un module est activé s'il existe un lien symbolique vers son fichier .load dans le /etc/Apache2/mods-enabled/
.
Vous pouvez, par exemple, activer le module Rewrite avec la commande
$ a2enmod rewrite
Dans httpd.conf , recherchez AllowOverride None et remplacez-le par AllowOverride All , puis redémarrez Apache