url rewriting htaccess

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

meteo75
WRInaute discret
WRInaute discret
 
Messages: 176
Inscription: 12 Juil 2009

url rewriting htaccess

Message le Mar Mai 31, 2011 19:37

Bonjour,

je viens car j'ai rewrité une url mapage.php?id=4 par 4.html

Cependant j'aimerai qu'elle soit réécrite en :

titre-de-ma-page-4.html


j'ai lu cet article : http://forum.webrankinfo.com/url-rewriting-caracteres-speciaux-t49112.html

Mais je comprends rien, il faut le mettre dans htaccess sur ma page.php ??


Merci


Djibou_Te@M
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 426
Inscription: 20 Avr 2010

Re: url rewriting htaccess

Message le Mer Juin 01, 2011 8:00

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

RewriteRule   ^[a-zA-Z0-9\-_\+]+-4\.html$   mapage.php?id=4  [L]

## ou de manière plus générique
RewriteRule   ^[a-zA-Z0-9\-_\+]+-([0-9]+)\.html$   mapage.php?id=$2  [L]



A toi de choisir entre les deux règles de réécriture, sinon, un conseil, lis cet article avant de faire du rewriting :
http://www.webrankinfo.com/dossiers/debutants/url-rewriting
puis :
http://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting

Voilà, avec tout ça, tu devrais pouvoir t'en sortir :wink:

meteo75
WRInaute discret
WRInaute discret
 
Messages: 176
Inscription: 12 Juil 2009

Re: url rewriting htaccess

Message le Mar Juin 07, 2011 23:20

Merci,

j'ai lu les articles c'est plus clair, seul petit hic, comment je fais pour ne récupéré que le titre .
Moi j'ai des erreurs 404 quand je me sers de ton htaccess ...

Bref je me suis lancé un truc trop dur à réalisé je crois


Djibou_Te@M
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 426
Inscription: 20 Avr 2010

Re: url rewriting htaccess

Message le Mer Juin 08, 2011 8:21

Allez, te décourages pas, envoie l'URL du site à bidouiller, si tu veux le garder à la discrétion de tous, envoies le moi par MP,
je vais faire ma BA de la journée :wink:
En s'y plongeant à deux, on devrait y voir plus clair.

Ce qu'il me faut : c'est le code entier de ton HTACCESS, l'URL de ton site et les pages que tu veux réécrire.

A tout à l'heure

meteo75
WRInaute discret
WRInaute discret
 
Messages: 176
Inscription: 12 Juil 2009

Re: url rewriting htaccess

Message le Mer Juin 08, 2011 10:38

C'est trop gentil,

Envoyé :D


Djibou_Te@M
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 426
Inscription: 20 Avr 2010

Re: url rewriting htaccess

Message le Mer Juin 08, 2011 11:17

Alors,

Pour faire simple, ta page doit afficher le lien de cette manière :

Code: Tout sélectionner
<a href="http://www.nom-de-domaine.com/titre-de-la-page-sans-caractere-speciaux-04.html"> page titre de la page 04</a>


Pour ce, faire, dans ton code :
Tu dois créer une fonction qui va nettoyer le titre pour le rendre compatible avec l'écriture d'URL, je t'aides, voici ma fonction qui fais ça :
Code: Tout sélectionner
function nettoie_url($in) {
   $search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_.-]@');
   $replace = array ('e','a','i','u','o','c','-','-');
   return preg_replace($search, $replace, $in);
}


Ensuite, tu dois récupérer l'ID de ta page, dans le code ci-dessous, je l'ai appelé "$id_page" :

Code: Tout sélectionner
<?PHP
echo "<a href=\"http://www.nom-de-domaine.com/".nettoie_url($title)."-".$id_page.".html\"> ".$title."</a>";
?>


Du coup, pour une page dont le titre est admettons "ville au nom accentué ôèà" est l'id de la page est "4" :

cela te donnera le code HTML suivant :
Code: Tout sélectionner
<a href="http://www.nom-de-domaine.com/ville-au-nom-accentueoea-4.html">ville au nom accentué ôèà</a>


Niveau HTACCESS :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

RewriteRule   ^[a-zA-Z0-9\-_\+]+-([0-9]+)\.html$   ma_vraie_page.php?id=$2  [L]


Explication du code HTACCESS:

si j'appelle une URL qui a pour format : [tout caractère alpha-numérique]-[un numéro].html
J'affiche dans la barre d'adresse : [tout caractère alpha-numérique]-[un numéro].html
et j'interprète le code de la page ma_vraie_page.php?id=[un numéro]

vue technique vulgarisée du HTACCESS:
$2 de "videos.php?id=$2" est la deuxième variable qui m'a été passée par l'appel de [a-zA-Z0-9\-_\+]+-([0-9]+)\.html

Tout ce qui se trouve entre [] est considéré comme variable :
donc dans [a-zA-Z0-9\-_\+]+-([0-9]+)\.html
[a-zA-Z0-9\-_\+] : sera ma première variable pouvant être récupérée par $1
[0-9]+ : sera ma seconde variable pouvant être récupérée par $2

voilà, :wink:


Djibou_Te@M
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 426
Inscription: 20 Avr 2010

Re: url rewriting htaccess

Message le Mer Juin 08, 2011 17:10

Petite mise à jour, sur certains serveur ma fonction nettoie_url nettoie un peu trop et ne fais pas tout comme il faut, bizarre,
mais au cas où, voici sa grande soeur, plus vieille certes, dépréciée sur certaines fonctions utilisées, mais qui a fait ses preuves :

Code: Tout sélectionner
function nettoie_url($nomPage){
   //on se débarasse des espaces
   $nomPage = trim($nomPage);
   //suppression du code html
   $nomPage = strip_tags($nomPage);
   //désencodage HTML
   $nomPage = html_entity_decode($nomPage);
   //suppression de la ponctuation
   $nomPage = ereg_replace("[\?!\./\(\)\"&ç=$\^%!:;,<>«»™|]", "", $nomPage);
    //minuscules
   $nomPage = strtolower($nomPage);
   //suppression des accents
   $nomPage = ereg_replace(" ", "-", $nomPage);
    $nomPage = ereg_replace("['’_]", "-", $nomPage);
   $nomPage = ereg_replace("[àâ]", "a", $nomPage);
   $nomPage = ereg_replace("[éèêë]", "e", $nomPage);
   $nomPage = ereg_replace("[ïî]", "i", $nomPage);
   $nomPage = ereg_replace("[öô]", "o", $nomPage);
   $nomPage = ereg_replace("[ùû]", "u", $nomPage);
   return $nomPage;
}



Appels aux développeurs en herbe de WRI, si vous souhaitez modifier l'une ou l'autres des fonctions proposées pour les rendre plus performantes, je suis pour que vous nous postiez votre mise à jour sur ce sujet, histoire d'en faire profiter tout le monde

Voilà :wink:

meteo75
WRInaute discret
WRInaute discret
 
Messages: 176
Inscription: 12 Juil 2009

Re: url rewriting htaccess

Message le Mer Juin 15, 2011 22:34

Marche pas :0((


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: url rewriting htaccess

Message le Mer Juin 15, 2011 23:37

Djibou_Te@M a écrit:Appels aux développeurs en herbe de WRI, si vous souhaitez modifier l'une ou l'autres des fonctions proposées pour les rendre plus performantes, je suis pour que vous nous postiez votre mise à jour sur ce sujet, histoire d'en faire profiter tout le monde

http://forum.webrankinfo.com/fonctions-pour-creer-slug-seo-friendly-ur ... 99376.html

Sanjb
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 10 Oct 2007

Re: url rewriting htaccess

Message le Sam Mai 12, 2012 14:41

Bonjour tout le monde!
Je sais que c'est un vieux post mais au lieu d'en ouvrir un nouveau, je continue celui ci ;)

J'ai un souci avec ma réécriture d'url... Je ne sais pas ce qui se passe, j'ai lu pas mal de forum, tuto, etc... Mais je n'arrive pas à faire ce que je veux.
Quelqu'un peut il m'aider?
Ce que je souhaite faire:
J'ai des pages www.exemple.ext/index.php?page=jeux ou www.exemple.ext/index.php?page=calcul, par exemple et je souhaite que cette page soit renomée en www.exemple.ext/jeux.php ou www.exemple.ext/calcul.php
Je suis chez Online en mutualisé, la réécriture est autorisée.
J'ai essayé plein de trucs mais cela ne marche jamis, soit on me dit que la page n'est pas trouvée, ou alors la redirection n'est pas prise en compte.

Pour le moment j'ai ça dans mon .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^$ %{QUERY_STRING} [C]
#RewriteRule ^[a-zA-Z0-9\-_\+]\.php$ index.php?page=jeux [L]
RewriteRule ^jeux\.php$ /index.php?page=jeux [L]

Merci de votre aide!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités