Aller au contenu
WebFrance

Rejoignez WebFrance (Cadeau : Le Guide 2018 pour rentabiliser un site)

Rejoindre WebFrance

Connexion  
nathalie35

URL ReWriting : question

Messages recommandés

hello tous

je suis supra débutante en url rewriting et je me pose quelques questions :

mon fichier .htacces :

RewriteEngine on

RewriteRule ^region-([0-9]+)-([a-zA-Z-]+)\.php$  http://www.monsite.com/region.php?dep=$1&region=$2

la redirection est ok c.a.d quand je tape l'url http://www.monsite.com/region-59-nord.php j'obtiens le même résultat que http://www.monsite.com/region.php?dep=59&region=nord

mais c'est cette dernière qui est inscrite dans la barre Url ! est ce normal ?

GG vas t'il bien prendre en compte http://www.monsite.com/region-59-nord.php pour l'indexer ?

Modifié par nathalie35

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

>> Nouveau : Découvrez la marketplace d'Achat / Vente de Sites !

Je comprends pas bien la question

Quand tu tapes : http://www.monsite.com/region-59-nord.php ça redirige vers http://www.monsite.com/region.php?dep=59&region=nord et tu te retrouves avec http://www.monsite.com/region.php?dep=59&region=nord dans la barre d'adresse ?

Il ne faut pas mettre l'adresse complète dans la deuxième partie de la règle

RewriteRule ^region-([0-9]+)-([a-zA-Z-]+)\.php$  /region.php?dep=$1&region=$2


ou


RewriteRule ^region-([0-9]+)-([a-zA-Z-]+)\.php$  region.php?dep=$1&region=$2

suivant ton hébergeur

Modifié par zig

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Oui, je pense que le problème vient du fait que tu ajoutes la racine du site (http://www.monsite.com) dans la deuxième partie de la règle

Autrement la démarche est la bonne :)

Essayes les deux codes que je t'ai donné dans la première réponse

Il y en a deux car si tu es chez ovh, c'est un peu différent

Modifié par zig

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

salut nath

la tu n'as fait que la partie htaccess.

c'est à toi maintenant de changer le lien en dur dans ton code :)

vu qu'un exemple aide toujours mieux :

http://auto.rcmodelisme.be

si tu regardes la liste des dernières vidéos dans la colonne de gauche.

le code html ressemble à ceci :

echo '<li id="first"><a href="/videos/'.$res1['id'].'-'.$vtitre1.'.html" title="'.$res1['titre'].'">'.$res1['titre'].'</a></li>';

donc, dans ton code tu dois créer tes liens sous forme de : region-$id-nord.php

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

effectivement sans l adresse complète c est nickel Merci :)

cela marche en local, reste plus qu'as le faire fonctionner chez Nfrance

Modifié par nathalie35

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

ça ne peux que marcher.

Par contre, j'ai un doute sur ton fichier htaccess... ! Je dirais qu'il manque des paramètres, mais tout comme toi, je suis néophyte en rewriting.

je dirais déjà (.*) au lieu de ([a-zA-Z-]+)

Maintenant, pour ma part c'est comme ceci :

RewriteRule ^videos/([0-9]+)-(.*)\.html$ videos.php?video_id=$1 [L]

toi tu rediriges uniquement vers region.php

ça me parait faible, sachant que tu ne passes aucun paramètres.

Chears

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

le code (.*) ça signifie que la règle va prendre en compte n'importe quel type de caractère

([a-zA-Z-]+) avec ce code tu autorises seulement un ou plusieurs types de caractères (ici les lettres minuscules et majuscules)

Modifié par zig

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

oops, j'ai rien dis :D

j'ai pas vu qu'il yavait une barre de défilement sur ton code :p

:p

Mais effectivement il faut que que je remplace : ([a-zA-Z-]+) par (.*) car sinon cela ne prends pas en compte les " - "

par contre j'ai un autre pb , je me retrouve avec une adresse ( dans la barre url ) comme ceci : region-65-Midi-Pyr%E9n%E9es.php alors que dans le lien qui pointe vers cette page les accents sont ok

donc je pense avoir un soucie avec la conversion des accents :( dans mon .htacces j ai remplacer ([a-zA-Z-]+) par (.*)

Modifié par nathalie35

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Salut

Tu as deux possibilités :

- Soit tu enlèves tous les accents avant d'appeler le lien ce qui donnera : region-65-Midi-Pyrenees.php

- Soit tu laisses comme ça (tu ne peux pas avoir d'accents dans l'adresse) et si tu veux récupérer la variable avec les accents sur rajoutes ça

$region=urldecode($region);

Modifié par zig

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

mais non mais non ;)

mieux :

exécute ceci avant ton url.

$uregionr = $region;

$masque = array("."," - "," & ","&","'",",","(",")","à","Á","Â","Ã","Ä","Å","à","á","â","ã","ä","å","Ò","Ó","Ô","Õ","Ö","Ø","ò","ó","ô","õ","ö","ø","è","é","ê","Ë","è","é","ê","ë","Ç","ç","Ì","Í","Î","Ï","ì","í","î","ï","Ù","Ú","Û","Ü","ù","ú","û","ü","ÿ","Ñ","ñ"," ","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");

$ok_masque = array("","-","-","-","-","-","","","a","a","a","a","a","a","a","a","a","a","a","a","o","o","o","o","o","o","o","o","o","o","o","o","e","e","e","e","e","e","e","e","c","c","i","i","i","i","i","i","i","i","u","u","u","u","u","u","u","u","y","n","n","-","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");

$uregion = str_replace($masque, $ok_masque, $uregionr);

te casse pas la tête sur ce que veux dire uregionr

c'est juste url-region-row, c'est ma façon de gêrer les variables.

la variable $uregion est la variable à réexploiter.

Cordialement

Modifié par HimSelf

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

ok :)

C'est effectivement comme tu dis la meilleure méthode vu que la deuxième variable ne doit surement pas être utilisé dans le code

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

cool ca marche , merci pour les infos - j ai pas reussis avec ton code himSelf

j ai utulise cette fonction :

function stripAccents($string){

return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',

'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');

}

et c'est nickel merci :)

Modifié par nathalie35

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Il y en a deux car si tu es chez ovh, c'est un peu différent

Salut,

j'exhume ce post car 'faut que je me mette aussi à l'url rewriting ... :o

Quelle particularités il y a chez OVH ?

(a part :

RewriteEngine on

RewriteBase /

en début htaccess)

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Ajouter un commentaire :

-

Créer un compte

en 3 secondes

INSCRIPTION

Se connecter

ici

CONNEXION
Connexion  

Partagez cette page :



© WebFrance 2018 - Contact - Annonceurs - Conditions générales

×

Nouveau : Marketplace WebFrance

2.png

Vente de sites internet, domaines, applications...