Jump to content
WebFrance
  • Rejoignez WebFrance

    Inscrivez vous aujourd'hui et recevez le Guide gratuit du e-Business

     

URL ReWriting : question


 Share

Recommended Posts

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 ?

Edited by nathalie35
Link to comment
Share on other 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

Edited by zig
Link to comment
Share on other 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

Edited by zig
Link to comment
Share on other 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

Link to comment
Share on other 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

Link to comment
Share on other 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)

Edited by zig
Link to comment
Share on other 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 (.*)

Edited by nathalie35
Link to comment
Share on other 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);

Edited by zig
Link to comment
Share on other 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

Edited by HimSelf
Link to comment
Share on other 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 :)

Edited by nathalie35
Link to comment
Share on other sites
Partagez cette page :

  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share



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

×
×
  • Create New...