monsite/top et monsite/post/12/ dans une même règle ?

WRInaute discret
Bonjour,

J'ai un site sous la forme monsite/top qui doit être réécrit en monsite/index.php?page=top. Le script me sort alors une liste par ordre croissant.
Jusque là tout va bien.
Mais parfois j'ai ce genre d'url : monsite/post/12/blabl-blablabl qui doit réécrire en : monsite/index.php?page=post&id=12 blabla étant les mots clés.

voici ma règle:
Code:
RewriteRule ^([a-z]+)/([0-9]+)/([a-z]+)$   http://localhost/monsite/index.php?page=$1&id=$2

bien entendu cela ne fonctionne pas...

j'ai aussi tenté :
Code:
RewriteRule ^([a-z]+)/([0-9]+)$   http://localhost/monsite/index.php?page=$1&id=$2

sans succès...

Vous avez une idée ?
 
WRInaute passionné
il ne faut pas mettre "http://localhost'" sinon ca fait une redirection :
Code:
RewriteEngine On
RewriteRule ^([a-z]+)/([0-9]+)/[a-z]+$   /monsite/index.php?page=$1&id=$2 [L]
 
WRInaute discret
merci, mais ca ne fonctionne pas. J'avais déjà tenté sans le localhost.
Avant:
monsite/top OK
monsite/top/ NOK
monsite/post/12/bla-lala NOK

Avec cette règle, je suis en NOK partout...
 
WRInaute discret
C'est bon je viens de trouver :p Je donne le code si d'autres dans le même cas que moi :

Code:
RewriteEngine on
RewriteRule ^([a-z]+)(/)?$   /monsite/index.php?page=$1
RewriteRule ^([a-z]+)/([0-9]+)/[a-z\-]+(/)?$   /monsite/index.php?page=$1&id=$2

Le code est peut-être pas top mais il fonctionne...

La première règle le rewrite de ces pages :
monsite/top ou bien monsite/top/

La seconde :
monsite/post/12/blabla-blabla ou bien monsite/post/12/blabla-blabla/

Mon seul problème est que je dois spécifier tous mes fichiers en dur, genre <link href="style.css doit être <link href="http://monsite.com/monsite/style.css
en effet il rewrite toutes mes adresses ! Je pense qu'il doit être possible de mettre un rewritecond mais là...
 
Discussions similaires
Haut