Dans l'un de mes projets, j'essaie de rediriger l'utilisation de .htaccess. J'utilise une redirection comme ceci:Redirection .htaccess avec exception
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
Mais, maintenant, je voudrais ajouter une exception aux règles de réécriture. Je veux que http://example.com/admin/ soit redirigé de la même manière, seulement vers un répertoire différent. Tout le reste du trafic devrait toujours aller dans le répertoire public. J'ai donc ajouté une condition de réécriture comme ceci:
RewriteCond %{REQUEST_URI} !/admin/
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
Ceci n'a pas fait l'affaire. Je suis toujours redirigé vers le dossier public. J'ai également essayé ceci:
RewriteRule ^admin$ admin/ [L]
RewriteRule admin(.*) admin/$1 [L]
RewriteCond %{REQUEST_URI} !/admin
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
Cela n'a fait qu'empirer les choses. Je reçois maintenant une erreur interne de 500 serveurs.
Cela fait maintenant des heures que je cherche, et je commence à en avoir assez de trouver des exemples qui montrent comment ajouter une exception pour un certain dossier, mais je ne montre pas comment rediriger ce trafic vers un autre dossier. Pouvez-vous me dire ce que je fais mal, ou quelle autre approche je pourrais essayer?
La chose d'administration était juste une faute de frappe. J'ai oublié le slash. J'ai déplacé le RewriteCond vers le bas une règle et tout fonctionne comme je le veux. Je pense que je cherchais une règle de réécriture, car elle devrait être traitée en interne. –