RewriteRule htaccess à toujours retirer la barre oblique même répertoire

L'objectif est de combiner plusieurs règles:

  • jamais avoir une barre oblique dans l'URI
  • interne de la réécriture de l'index.php (domain.tld/somedir/index.php) lors de l'appel de domaine.tld/somedir
  • supprimer les extensions de fichiers, vérifier si + '.php' existe et, éventuellement, à l'interne de réécriture à

Ce qui va être fait dans '.htaccess", car cela est mon seul accessible .

Une tentative de ma part jusqu'à présent

# check if *.php exists
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L, QSA]

# do not allow trailing slash
RewriteRule (.*)/ $1 [L, R=301]

La difficulté ici est que la requête de domaine.tld/somedir' appelle normalement le répertoire de l'index.php après avoir été redirigé vers le domaine.tld/somedir/'. Cependant, je voudrais que le index.php pour être appelé en interne (pas de 301) directement lors de l'interrogation de domaine.tld/somedir'.

InformationsquelleAutor | 2014-03-25