J'utilise Vagrant pour construire une petite machine virtuelle de développement Wordpress. Lorsque je sélectionne des permaliens (postname), la page d'un article ne se charge pas. Cependant, lorsque je sélectionne le lien standard (c'est-à-dire l'ID de la page), tout fonctionne correctement. J'ai utilisé le service PuPHPet pour construire la machine virtuelle.
Mes paramètres peuvent être trouvés ici
J'utilise Wordpress 3.9.1 et Apache2, j'ai activé mod_rewrite en cours d'exécution:
a2enmod rewrite
Et mon fichier .htaccess de Wordpress est le suivant:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /svisa/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /svisa/index.php [L]
</IfModule>
# END WordPress
il possède les autorisations et la propriété suivantes:
-rw-rw-rw- 1 vagrant www-data 248 May 30 14:52 .htaccess
Mon fichier virtualhost pour le site (/var/www/svisa/
) peut être trouvé ici .
à partir de mon ordinateur hôte, je navigue sur le site via l’adresse suivante: http://wpdev-vm/svisa/
où wpdev-vm
est le nom du vm.
Est-ce que quelqu'un sait ce qui me manque pour que les permaliens fonctionnent?
J'ai résolu le problème moi-même.
Dans la configuration Apache par défaut, sous /etc/Apache2/sites-enabled
, la mienne s'appelle 15-default.conf
Cela a été déclaré sous la racine du document:
<Directory "/var/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
J'ai dû changer AllowOverride None
en AllowOverride All
. Ainsi, vous obtiendrez ce qui suit:
<Directory "/var/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Après cela, les permaliens ont commencé à fonctionner.
Il existe suffisamment d’informations sur le Web pour savoir comment obtenir des fichiers .htaccess fonctionnant avec Apache2. Mais plus particulièrement avec Vagrant , vous devez vous assurer que les paramètres requis sont implémentés dans Apache sur votre invité machine. Cela peut sembler évident à tout le monde, mais j’ai perdu un changement de paramètres sur mon hôte et je ne pouvais pas comprendre pourquoi cela ne fonctionnait pas.