arrêtez .htaccess de redirect le sous-dossier / index.php vers root

J’ai un problème que je n’arrive pas à résoudre. J’ai essayé beaucoup de solutions et pas de chance.

Lorsque j’accède à une URL avec le sous-dossier / index.php, je suis redirigé vers la page racine. Si j’accède à une autre page de ce sous-dossier, cela fonctionne correctement. Je ne suis pas sûr de ce qui cause cela sur mon code. Voici ce que j’ai

Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domain.com$ RewriteRule (.*) http://www.domain.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.domain\.com RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP RewriteRule (.*)\.php$ $1 [R=301] # remove index RewriteRule (.*)index$ $1 [R=301] # remove slash if not directory RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} /$ RewriteRule (.*)/ $1 [R=301] # add .php to access file, but don't redirect RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) $1\.php [L] 

Aucune suggestion? Merci!

Gardez vos règles comme ceci:

 Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domain\.com$ RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L,NE] RewriteCond %{HTTP_HOST} ^www.domain\.com RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC] RewriteRule ^ /%1 [R=301,L,NE] # remove slash if not directory RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} /$ RewriteRule ^(.+?)/$ $1 [R=301,L,NE] # add .php to access file, but don't redirect RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) $1.php [L]