2013-03-03 4 views
1

Je suis en train de configurer un petit jeu de règles de réécriture dans un fichier htaccess, où je veux que chaque URL passe à un fichier index.php à l'exception de/admin que je veux rediriger vers admin.php. Pas très familier avec mod_rewrite ou regexp malheureusement. Cela me donne une erreur de serveur interne (pas 500). Supprimer ou décommenter la réécriture d'admin le fait fonctionner.htaccess mod_rewrite - réacheminer toutes les urls à index excepté/admin

+0

Avez-vous accès aux journaux d'erreurs du serveur? –

+0

Il fonctionne localement. Où dois-je chercher les journaux? (MAMP Pro OSX) –

Répondre

1

Les conditions doivent être appliquées à la règle de réécriture index.php, sinon cela provoque une boucle de redirection. Un RewriteCond est appliqué uniquement au RewriteRule immédiatement suivant, donc la règle qui route tout vers l'index n'a aucune condition. Essayez simplement de réorganiser les lignes:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^admin$ admin.php [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
</IfModule> 
+0

C'est fait! Je vous remercie. –