[url rewriting] Dossier parent

Nouveau WRInaute
Bonjour à tous ;)

Je viens de trouver votre forum car je cherche une solution pour mon url rewriting.

Donc voilà mon problème :

Je suis entrain de faire un système de blog du style :
http://www.monsite.com/monblog
et que cela redirige vers :
http://www.monsite.com/index.php?blog=monblog

Au début j'avais réussi avec ceci :
Code:
RewriteRule ^([a-zA-Z0-9_\-]*)$ index.php?blog=$1

Mais je me suis tout de suite rendu compte qu'il y avait plusieurs restrictions quand je suis passé par les $_GET en PHP :

- "http://www.monsite.com/?p=inscription" n'est pas possible
- si on accepte les . dans l'url rewriting je ne peux plus charger de feuilles de style css car je charge un .css et le point en fait parti.

Au fait, je travaille en local donc j'ai un fichier parent qui est wp
donc j'ai essayé :
Code:
RewriteRule ^wp\([a-zA-Z0-9_\-]*)$ index.php?blog=$1
Code:
RewriteRule wp\([a-zA-Z0-9_\-]*)$ index.php?blog=$1
Code:
RewriteRule ^wp\([a-zA-Z0-9_\-]*) index.php?blog=$1
Code:
RewriteRule wp\([a-zA-Z0-9_\-]*) index.php?blog=$1

Un peu de tout mais a chaque fois cela me ressort une page d'erreur 404 car l'url rewrite ne réécrit rien donc ne trouve pas de réponse.

Donc voilà, je vous demande votre avis sur la façon de procéder ;)

Merci d'avance

Tibo
 
Nouveau WRInaute
Déja merci bien pour vos réponses.

Donc en fait ce que je devrais faire est par exemple :
RewriteRule http://192.168.0.4/wp/([a-zA-Z0-9]*)$ http://192.168.0.4/wp/index.php?blog=$1

Mais ceci ne marche pas non plus.

Et pour les histoires de \ en fait j'avais vu des url rewriting avec ça, donc je me suis dit vu que je travail en local et pour les autres à distance...

PS : Je ne connais pas encore les drapeau, je vais aller me renseigner

Mercid 'avance
 
WRInaute passionné
Tibo.M : le \ sert à "échapper" un caractère spécial. Par exemple "+" dans une expression régulière veut dire "au moins un" . alors si tu veux que ton URL contienne un vrai signe +, il faut écrire "\+"

Dans ta règle, supprime la racine du premier membre.
on réécrit ()$ vers quelque chose. parce que ton serveur ne "sait pas" qu'on est dans http:/// et tout le tintouin, il connait juste le nom de la page demandée par rapport au dossier où est le htaccess
 
Nouveau WRInaute
Rebonjour,

Je cherche un peu de tout mais rien n'abbouti.

logiquement d'après ce que j'ai compris ça devrait être:
RewriteRule ([a-zA-Z0-9]*)(/*)$ http://192.168.0.4/wp/index.php?blog=$1
Erreur : La limite de redirection d'URL a été dépassée...

j'ai aussi essayer d'autres solutions :
RewriteRule /([a-zA-Z0-9]*)(/*)$ http://192.168.0.4/wp/index.php?blog=$1
Erreur : Not Found
The requested URL /wp/lol/ was not found on this server.

RewriteRule wp/([a-zA-Z0-9]*)(/*)$ http://192.168.0.4/wp/index.php?blog=$1
Erreur : Not Found
The requested URL /wp/lol/ was not found on this server.

RewriteRule /wp/([a-zA-Z0-9]*)(/*)$ http://192.168.0.4/wp/index.php?blog=$1
Erreur : Not Found
The requested URL /wp/lol/ was not found on this server.

RewriteRule http://192.168.0.4/wp/([a-zA-Z0-9]*)(/*)$ http://192.168.0.4/wp/index.php?blog=$1
Erreur : Not Found
The requested URL /wp/lol/ was not found on this server.

Mais le tout sans conséquences.

Merci d'avance ;)

EDIT : Ah bun tiens, je viens d'essayer ça :
RewriteRule ^([a-zA-Z0-9]*)(/*)$ /wp/index.php?blog=$1 et ça marche
Je vais voir pour les get maintenant
 
WRInaute impliqué
ben oui, il faut dire le début de ta chaine avec ^
sinon la première doit marche sans le $ a la fin
à condition de mettre le drapeu [L] à la fin
Sinon, tu resoumet l´url à ta règle, à l´infini... d´où l´errreur
 
Discussions similaires
Haut