url rewriting htaccess
10 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- meteo75
- WRInaute discret

- Messages: 176
- Inscription: 12 Juil 2009
url rewriting htaccess
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
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

- Messages: 426
- Inscription: 20 Avr 2010
Re: url rewriting htaccess
- 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
- meteo75
- WRInaute discret

- Messages: 176
- Inscription: 12 Juil 2009
Re: url rewriting htaccess
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
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

- Messages: 426
- Inscription: 20 Avr 2010
Re: url rewriting htaccess
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
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
je vais faire ma BA de la journée
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
-

Djibou_Te@M - WRInaute occasionnel

- Messages: 426
- Inscription: 20 Avr 2010
Re: url rewriting htaccess
Alors,
Pour faire simple, ta page doit afficher le lien de cette manière :
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 :
Ensuite, tu dois récupérer l'ID de ta page, dans le code ci-dessous, je l'ai appelé "$id_page" :
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 :
Niveau HTACCESS :
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à,
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à,
-

Djibou_Te@M - WRInaute occasionnel

- Messages: 426
- Inscription: 20 Avr 2010
Re: url rewriting htaccess
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 :
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à
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à
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: url rewriting htaccess
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

- Messages: 13
- Inscription: 10 Oct 2007
Re: url rewriting htaccess
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!
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!
10 messages
• Page 1 sur 1
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 :
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Article sur le fichier .htaccess
- l'URL Rewriting expliqué aux débutants
- L'URL Rewriting expliqué aux débutants
- Tutoriel URL Rewriting
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
