J'utilise le fichier .htaccess ci-dessous pour forcer une redirection vers un "préfixe de langue" si aucun n'est trouvé dans l'URL. Donc, si domain.com/news est tapé, il redirige vers domain.com/fr/news - cela fonctionne très bien..htaccess problème
Cette règle ne doit pas être appliquée à certains dossiers tels que les images, swf et myphp. Cela fonctionne bien pour les deux premiers, donc quand j'accède à domain.com/swf je vois une liste de contenu de répertoire et "en" n'est pas ajouté. Mais, cela ne fonctionne pas pour le dossier "myphp" (il s'agit d'une installation de phpmyadmin). Normalement, il chargerait myphp/index.php mais l'ajout du nom de fichier à la règle ne fait aucune différence. La page continue à charger mais rien ne se passe. Quelqu'un sait-il pourquoi?
RewriteEngine On
RewriteBase/
#force redirect to language specific page
RewriteCond $1 !^(en|fr|nl)$
#dont apply the rule to the assets folders
RewriteCond $1 !^images$
RewriteCond $1 !^swf$
RewriteCond $1 !^myphp$
#redirect to default EN page if no language param is present in URI
RewriteRule ^([^/]+)/.* /en/$0 [L,R=301]
#remove index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteRule ^(.*)$ /index.php?$1 [L]