.htaccess problème RewriteRule
Atropa
Messages postés
1940
Date d'inscription
Statut
Membre
Dernière intervention
-
Atropa Messages postés 1940 Date d'inscription Statut Membre Dernière intervention -
Atropa Messages postés 1940 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problème étrange avec une regex.
la voici :
quand j'écris http://localhost/monsite/admin
ca me redirige à http://localhost/monsite/admin/?page=admin&admin=&=&=
et je tombe malgré tout sur la bonne page. autrement dit il n'y a que l'url affichée qui pose problème
alors qu'avec forum et membre ça fonctionne parfaitement
et si j'écris http://localhost/monsite/admin/ ça fonctionne...
j'ai donc deux question :
la 1ere : Pourquoi?
la seconde : comment faire pour repasser l'url dans une regex qui enlève les '&=' ? ça me parrait inutile de les laisser même si a priori il ne poses pas de problème...
merci d'avance pour vos réponses
j'ai un problème étrange avec une regex.
la voici :
RewriteRule ^(admin|forum|membre)(/([a-z]+)?)?(/([a-z]+)?)?(/(.+)?)?$ /monsite/index.php?page=$1&$1=$3&$3=$5&$5=$7 [L]
quand j'écris http://localhost/monsite/admin
ca me redirige à http://localhost/monsite/admin/?page=admin&admin=&=&=
et je tombe malgré tout sur la bonne page. autrement dit il n'y a que l'url affichée qui pose problème
alors qu'avec forum et membre ça fonctionne parfaitement
et si j'écris http://localhost/monsite/admin/ ça fonctionne...
j'ai donc deux question :
la 1ere : Pourquoi?
la seconde : comment faire pour repasser l'url dans une regex qui enlève les '&=' ? ça me parrait inutile de les laisser même si a priori il ne poses pas de problème...
merci d'avance pour vos réponses
A voir également:
- .htaccess problème RewriteRule
- Problème avec .htaccess - Forum Webmastering
- .Htaccess ✓ - Forum Référencement
- Htaccess - Forum Référencement
- You don't have permission to access this resource.server unable to read htaccess file, denying access to be safe - Forum Mozilla Firefox
- Question sur le htaccess ✓ - Forum Référencement
2 réponses
Hey,
Les régles de réécriture ne font pas de redirection, tes redirections sont faites ailleurs dans ton application, apache ou script.
http://localhost/monsite/admin => apache tente de trouver un fichier se nommant admin dans le répertoire monsite, comme il n'existe pas (404), une redirection est effectuée vers ta page par défaut.
http://localhost/monsite/admin/ => apache va rechercher un index.html|index.php (directoryIndex) dans le répertoire admin.
Pour la 2nde question, c'est à toi de définir d'autres règles en fonction des arguments optionnels ou non.
Mais comme tu dis cela n'a guère d'importance que des arguments passés dans l'url soit sans valeurs ou non.
La beauté des urls, l'internaute s'en fiche :)
Les régles de réécriture ne font pas de redirection, tes redirections sont faites ailleurs dans ton application, apache ou script.
http://localhost/monsite/admin => apache tente de trouver un fichier se nommant admin dans le répertoire monsite, comme il n'existe pas (404), une redirection est effectuée vers ta page par défaut.
http://localhost/monsite/admin/ => apache va rechercher un index.html|index.php (directoryIndex) dans le répertoire admin.
Pour la 2nde question, c'est à toi de définir d'autres règles en fonction des arguments optionnels ou non.
Mais comme tu dis cela n'a guère d'importance que des arguments passés dans l'url soit sans valeurs ou non.
La beauté des urls, l'internaute s'en fiche :)
merci pour ta réponse elle m'a bien aidée
ce qui est pratique avec ca c'est que les url rendent plutôt bien et que je n'avais besoin que d'une règle de réécriture pour tout le site.
par contre pour apache je viens de comprend en écrivant cette phrase !
les dossiers membre et forum n'éxiste pas et ca fonctionne !
alors qu'il y a un dossier admin à la racine du site !
alors du coup si je comprend bien :
apache prend en priorité l'url fourni donc il cherche le dossier admin
il prend en compte le htaccess du dossier parent donc réécrit l'url
et ce que je ne comprend pas c'est pourquoi il renvoi une nouvelle url au navigateur et que ma page s'affiche normalement...
ce qui est pratique avec ca c'est que les url rendent plutôt bien et que je n'avais besoin que d'une règle de réécriture pour tout le site.
par contre pour apache je viens de comprend en écrivant cette phrase !
les dossiers membre et forum n'éxiste pas et ca fonctionne !
alors qu'il y a un dossier admin à la racine du site !
alors du coup si je comprend bien :
apache prend en priorité l'url fourni donc il cherche le dossier admin
il prend en compte le htaccess du dossier parent donc réécrit l'url
et ce que je ne comprend pas c'est pourquoi il renvoi une nouvelle url au navigateur et que ma page s'affiche normalement...