Aller au contenu

Sujets conseillés

Posté

Salut, j'ai une reecriture d'url qui est le suivant:

RewriteRule ^page/([a-zA-Z_-]+)_([a-zA-Z_-]+)/$ http://www.domain.com/page.php?g=$1&s=$2

Donc l'url suivant:

domain.com/page/un_mot

va charger:

domain.com/page.php?g=un&s=mot

Jusqu'à la pas de probleme, mais le soucis c'est que les deux variables dans l'url sont crées à partir de données dans la base, et pour deux entrées, j'ai une chaine avec un point suivi d'une espace comme ca: "mot. mot"

Donc mon url de depart est le suivant:

domain.com/page/un_mot. mot

ce qui se transforme dans le navigateur en:

domain.com/page/un_mot.%20mot

Et donc ceci genere une erreur, je voudrais savoir, que dois je faire pour que ca fonctionne? j'ai tout desuite penser que il faut ajouer 0-9 dans la partie de regex, mais je sais pas si la reecriture transfere le %20 puisqu'il s'agit d'une espace, donc je me suis dmenader s'il faut ajouter un reg ex pour les espaces? Et puis je me suis dit que le soucis etait le point, alors que suggerez vous?

Quel est la regex pour un point?

Posté

Si le _ n'est pas présent à l'intérieur des variables, je ferais ceci:

RewriteRule ^page/([^_]*)_([^_]*)/$ http://www.domain.com/page.php?g=$1&s=$2

Jean-Luc

Posté (modifié)

Merci beaucoup,

mais dans ce cas il faut exclure les slash, je fais ceci ? Parceque apres j'ai d'autres conditions qui marcheront pas, j'ai des cas ou il y a des infos apres cet url

RewriteRule ^page/([^_/]*)_([^_/]*)/$ http://www.domain.com/page.php?g=$1&s=$2

Modifié par djp1988
Posté

Je pense que c'est ok pour les /, mais ce serait plutôt:

RewriteRule ^page/([^_/]*)_([^_/]*)/$ /page.php?g=$1&s=$2

Si on laisse le [i]http://..., cela provoquera une redirection.

Jean-Luc

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...