La réécriture de .htaccess sur un dossier affecte également ses sous-dossiers

J’ai un fichier PHP situé dans un dossier (“www.monsite.com/dossier/test.php”) qui accepte un argument get (str) et permet d’imprimer. Afin de rendre les URLs SEO friendly, j’essaie de les réécrire comme ceci:

RewriteBase / RewriteRule ^folder/(.*)$ folder/test\.php?str=$1&%{QUERY_STRING} 

la règle de réécriture fonctionne correctement, le problème est lorsque je dois accéder au sous-dossier de ce dossier. Par exemple, s’il existe une image dans test.php située à l’adresse www.monsite.com/dossier/images/img.jpg, conformément à la règle ci-dessus, elle prend images / img.jpg et la transmet au fichier php.

comment peut empêcher cela?

Regarder:

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 

Devrait résoudre votre problème – cela garantit simplement que l’URL demandée n’est ni un fichier réel ni un répertoire sur le serveur.

Quand vous lui dites “n’importe quel personnage”, il pense que vous voulez vraiment dire n’importe quel personnage .

 RewriteRule ^folder/([^/]*)$ folder/test\.php?str=$1&%{QUERY_STRING}