06 Avr Avez vous un conflit entre htaccess et htpasswd sous WordPress ?
Si vous voulez protéger un dossier sous un projet wordpress , vous allez tomber lorsque vous naviguer sur le dossier protégé sur une belle page 404.
La solution est de modifier le fichier htaccess du site wordpress et d’ajouter une simple ligne.
/* Fichier par défaut du htaccess du 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>
Après modification du fichier :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|#.*|\?.*|/[^.]*)$ [NC]
RewriteRule ^(.*) /index.php [L]
</IfModule>
Les étapes pour créer un dossier protégé par login et mot de passe :
Etape 1 :
La création d’un fichier .htaccess
AuthName "Page protégée" /* Texte à afficher */ AuthType Basic AuthUserFile "/home/site/www/dossier/.htpasswd" /* chemin absolu du dossier */ Require valid-user
Etape 2 :
La création d’un fichier .htpasswd
Ce fichier va contenir la liste des personnes autorisées à accéder aux pages du dossier
/* exemple */ utilisateur1:motdepassecripte1 utilisateur2:motdepassecripte2 /* Dans ce fichier les deux utilisateurs 1 et 2 peuvent se connecter au dossier sécurisé */ /* Pour le criptage des mots de passe Vous pouvez voir ici https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/proteger-un-dossier-avec-un-htaccess */