J'essaie de rediriger les fichiers index.php vers la racine /, j'ai cherché et trouvé plusieurs extraits de code similaires à:
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.domain.com/$1 [R=301,L]
Cela ne fonctionnera cependant pas pour les sous-domaines, exemple ci-dessous:
Est-ce que quelqu'un sait comment ajuster le htaccess ci-dessus pour qu'il prenne en compte le sous-domaine et les redirige vers l'emplacement approprié?
par exemple. si un utilisateur visite http://subdomain.domain.com/index.php il ira à http://subdomain.domain.com/
Points bonus:
Existe-t-il un htaccess qui peut simplement appliquer cette règle à tous les dossiers?
Donc, pour tout dossier avec un index.php, ils seront simplement redirigés vers sa racine, par exemple http://subdomain.domain.com/folder1/folder2/index.php irait automatiquement à http://subdomain.domain.com/folder1/folder2/
Faites ceci:
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
J'ai basé le code suivant sur @ la réponse de ThinkingMonkey
RewriteRule ^(.*)index\.(php|html?)$ /$1 [R=301,NC,L]
Il redirige les URI se terminant par index.php , index.htm ou index.html à /. Fonctionne également avec les sous-répertoires.
Notez également l'indicateur NC
. Cela le rend insensible à la casse. Cela fonctionne donc même si l'URI est en majuscules comme INDEX.PHP .