Avez vous un conflit entre htaccess et htpasswd sous WordPress ?

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
*/