url rewriting

Eléphanteau du PHP | 19 Messages

07 avr. 2007, 11:24

Bonjour,

Voilà, j'ai mis en place un systeme de sous domaine virtuel avec en plus des dossiers virtuels.

Voilà mon htaccess

Code:


Options +FollowSymlinks

RewriteEngine on

RewriteCond %{HTTP_HOST} !www
RewriteCond %{HTTP_HOST} ^([^\.]+).monsite.com$ [NC]


RewriteRule ^$ webblog/index.php?IDblog=%1 [L]
RewriteRule ^/$ webblog/index.php?IDblog=%1 [L]
RewriteRule ^/livre/$ webblog/livre/index.php?IDblog=%1 [L]
...



En fait j'ai un problème lorsque les deux premières règles de réécriture sont mises en place.
Elles sont là pour spécifier que si je tape
sd.monsite.com ou sd.monsite.com/ cela redirige sur sd.monsite.com/webblog/index.php?IDblog=sd

Ce qui m'embete c'est que lorsque je n'ai que la règle pour le livre, si j'accède à l'url : sd.monsite.com/livre/ la redirection est bien faite.

Par contre quand elles sont là plus rien ne fonctionne.

Quelqu'un pourrait m'aider ?

Merci d'avance

ViPHP
ViPHP | 1380 Messages

07 avr. 2007, 14:34

@modo -> sujet à déplacer dans gestion de serveurs siouplait

Tes conditions et règles ont une syntaxe correcte mais il faut bien comprendre le fonctionnement du rewrite_engine. A chaque règle, il enlève la partie préfixée HOST (sd.monsite.com) avant de la réinjecter dans tes conditions et règles. Donc:

Exemple comme URI dc.monstite/livre/, la première règle ne matchera pas MAIS la partie préfixée du doc_root dc.monsite est sucrée et soumet /livre/ à nouveau au moteur rewrite. Résultat, plus de capture %1 !

Essaye conditions --> une règle:

Code : Tout sélectionner

RewriteCond %{HTTP_HOST} !www RewriteCond %{HTTP_HOST} ^([^\.]+).monsite.com$ [NC] RewriteRule ^$ webblog/index.php?IDblog=%1 [L] RewriteCond %{HTTP_HOST} !www RewriteCond %{HTTP_HOST} ^([^\.]+).monsite.com$ [NC] RewriteRule ^/$ webblog/index.php?IDblog=%1 [L] RewriteCond %{HTTP_HOST} !www RewriteCond %{HTTP_HOST} ^([^\.]+).monsite.com$ [NC] RewriteRule ^/livre/$ webblog/livre/index.php?IDblog=%1 [L]
ripat

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 avr. 2007, 15:51

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Gestion de serveur(s)".

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer