Lu,
dans un .htaccess (ou bloc <Directory> ), étant donné qu'Apache tronque automatiquement le chemin testé par RewriteRule, celui-ci ne commencera JAMAIS par un slash. ^/ ne matchera donc jamais. Il faut supprimer ce slash de tête. Au pire, si vous voulez vraiment écrire des règles portables (par rapport au fait que l'on soit dans un contexte de répertoire ou non), il faudrait le rendre facultatif via ^/?
Si ça ne fonctionne toujours pas, penses aussi à nous donner l'URL (au moins le chemin) que tu cherches à faire matcher.
Extraits de la doc :
Citation :
Dans un contexte de répertoire (sections Directory et fichiers .htaccess), le Modèle est comparé avec une partie de chemin ; par exemple une requête pour "/app1/index.html" entraînera une comparaison avec "app1/index.html" ou "index.html" selon l'endroit où la directive RewriteRule est définie.
Le chemin où la règle est défini est supprimé du chemin correspondant du système de fichiers avant comparaison (jusqu'au slash final compris). En conséquence de cette suppression, les règles définies dans ce contexte n'effectuent des comparaisons qu'avec la portion du chemin du système de fichiers "en dessous" de l'endroit où la règle est définie.
|
et
Citation :
Le prefixe supprimé se termine toujours par un slash, ce qui signifie que la comparaison s'effectue avec une chaîne qui ne comporte jamais de slash de début. Ainsi, un modèle contenant ^/ ne correspondra jamais dans un contexte de répertoire.
|
Message édité par pluj le 08-02-2018 à 15:28:09