Le serveur Apache charge la page au lieu d’appliquer la règle de réécriture

J’essaie de faire en sorte que mon site Web ajoute une barre oblique, puis réécrit l’URI sur une page html . xy.com/abc fondamentalement xy.com/abc vers xy.com/abc/ , puis chargez réellement xy.com/abc.html .

Mon fichier .htaccess ressemble à ceci:

 RewriteEngine on RewriteBase / RewriteRule ^([az]+)$ $1/ [R] RewriteRule ^([az]+)/$ $1.html [L] 

Lorsque j’essaie d’aller sur xy.com/asd (page non existante), il redirige vers xy.com/asd/ et me donne une erreur 404 correcte.

Lorsque je l’essaie avec une page qui existe ( xy.com/about ), elle ne fait que charger xy.com/about.html sans avoir à redirect.

Essayez ce code:

 Options -MultiViews RewriteEngine on RewriteBase / RewriteRule ^([az]+)$ $1/ [R,NC,L] RewriteCond %{DOCUMENT_ROOT}/$1.html -f RewriteRule ^([az]+)/$ $1.html [L,NC]