Webmaster eXpérience, partage d'expérience de webmaster Accueil du site

Documentations (fr)

CSS2 DOM2 XHTML 1.0 PHP MySQL

.:. Article .:.

Le fichier .htaccess et la réécriture d'URL ou URL Rewriting


  • Technique
  • Le 07-11-2003

Le fichier .htaccess permet de faire beaucoup de chose, la plus connue est sans doute de restreindre l'accès en demandant un nom et un mot de passe. Le but de cet article n'est pas de faire le tour des possibilités offertes mais de présenter les fonctions qui peuvent êtres intéressantes sur tous les sites. Et je vais essayer de montrer comment implémenter simplement l'URL Rewriting sur un site. L'URL Rewriting permet d'avoir des liens avec un nom simple est standard pour chaque lien, ce qui permet un bon travail des robots des moteurs et donc vous permet d'avoir un bon référencement pour votre site.

La première chose que je fais systématiquement pour tous mes sites c'est de gérer les erreurs, quoi de plus énervant pour un visiteur que d'arriver sur une erreur 404... Nous allons donc détailler la technique pour rediriger ces erreurs vers une page de notre choix.

ErrorDocument 401 /erreur.php
ErrorDocument 403 /erreur.php
ErrorDocument 404 /erreur.php
ErrorDocument 500 /erreur.php

Dans cet exemple on redirige les erreurs vers une page spécifique (erreur.php) située à la racine du site. Ensuite il ne reste qu'à traiter le code d'erreur pour afficher un message compréhensible au visiteur :

$url_erreur = $_SERVER["REQUEST_URI"];
$serveur_erreur = $_SERVER["REDIRECT_STATUS"];
$message_erreur['401'] = "Authentification nécessaire";
$message_erreur['403'] = "Accès interdit";
$message_erreur['404'] = "La page spécifiée n'existe pas";
$message_erreur['500'] = "Erreur interne du serveur";
$libelle_erreur = "Erreur $message_erreur";
echo "$url_erreur : $libelle_erreur : $message_erreur[$serveur_erreur]";

Il ne vous reste plus qu'à intégrer ce code à une page PHP aux couleurs de votre site et le visiteur aura un message compréhensible.

Intéressons nous maintenant à la réécriture d'url. Je fais le choix de n'avoir que des url comparables à des pages HTML statique, donc les fichiers ayant une extension PHP seront appelés avec une extension HTML, par exemple pour avoir la page index.php je taperais index.html dans l'url.

Pour les url avec des paramètres c'est un peu plus compliqué, voila le modèle que nous allons employé :

» mapage.php?var1=valeur1&var2=valeur2&...&varN=valeurN

deviendra :

» mapage-var1-valeur1-var2-valeur2-....-varN-valeurN.html

Le code à insérer dans le .htaccess utiles les expressions régulières, il faut commencé par activer le mode rewriting :

RewriteEngine on
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html $1$2&$3=$4$5\.html [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html $1.php?$2=$3$4 [L]
RewriteRule ^(.*).html $1.php [L]

A noter qu'il faut que le moteur de réécriture apache doit être au préalable activé sur le serveur. Pour un hébergement mutualisé, si vous contez utiliser cette technique vérifiez bien son autorisation auprès de l'hébergeur.

On peut remarquer qu'avec cette méthode générale il n'est pas possible d'appeler une page ayant une extension .HTML, car la requête sera renvoyée sur la page portant l'extension .PHP correspondante. Par contre les url classique avec extension .PHP et éventuellement avec des paramètres fonctionneront toujours.

Vous pouvez également interdire le téléchargement de vos images par d'autres sites pour protéger votre bande passante :

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.votresite.com/.*$ [NC]
ReWriteRule .*\.(gif|png|jpe?g)$ - [F]

Ces explications vous présentes une application concrète du fichier .htaccess que j'utilise. Si vous voulez comprendre le fonctionnement complet de ces règles il est nécessaire de consulter la documentation. Mais je pense que c'est une bonne démarche de commencer à partir d'un cas concret qui fonctionne.

Nous avons vu comment ça se passe du côté du serveur mais au niveau du code PHP il faut maintenant avoir les bonnes url, c'est à dire au format .HTML. Pour cela il y a deux manière, la première c'est que vous mettiez les bonnes url directement dans votre code, soit utiliser une fonction PHP inverse de celle du .htacces. Cet deuxième solution a l'avantage d'être extrêmement souple, si vous changez vos règles ou si le support de l'URL Rewriting est désactivé du serveur. Voici la fonction que j'utilise :

function lienurlrewriting($url) {
	if (eregi("(.*).php(.*)",$url,$regs)) {
		$monurl = $regs[1];
		$geturl = $regs[2];
		while (eregi("(.*)(\?|&)([^=]+)=([^=]*)(.*)",$geturl,$regs)) {
			$geturl = $regs[1]."-".$regs[3]."-".$regs[4].$regs[5];
		}
		$url = $monurl.$geturl;
	} elseif(eregi("(.*).php",$url,$regs)) {
		$url = $regs[1];
	}
	return $url.".html";
}

Cette fonction est écrite pour ne gérer que les url des fichiers .PHP en entrée, vous pouvez l'enrichir selon vos besoins.

Aller plus loin

Commentaires

» monimode le 03-12-2003 à 02:12
Je vous remercie beaucoup pour cette article !!! Sur mon site tout était en php avec un template et ques des include(). Depuis que j'ai mis l'URL Rewriting, toutes mes pages sont en html et elles vont pouvoir être trouvées par Google pour les référencer !!! Merci a vous...

» Dan le 26-01-2004 à 11:01
Je suis tombe par hasard sur cette page et tenais a remercier l'auteur pour citer mon article avec un titre si élogieux ;) Dan Admin http://www.webmaster-hub.com/

» gaston le 26-04-2004 à 01:04
Super cette page de trucs que j'ai mis en application Mais surprise avec mot-([a-zA-Z0-9+]*) Si mot comporte des accents ou des caractères spéciaux comme ¹ il y a des erreurs. La conversion se fait mal. Y a t-il une solution ? Sinon le reste fonctionne très bien à l'adresse: http://refuge-araing.apinc.org

» Marco le 14-05-2004 à 11:05
Bonjour, normalement les urls ne doivent pas comporter de caractères spéciaux. Si c'est vraiment nécesaire de passer ce type de caractère, il faut sans doute encoder la variable $url en entrée à l'aide des fonctions htmlentities() ou htmlspecialchars().

» gaston le 22-05-2004 à 10:05
J'ai contourné le pb en encodant en base64 mon url

» le.manchot le 31-10-2004 à 02:10
J'ai essai le srcipt php pour renomer les lien de la page mais le .html est en dehors des lien je n arrive pas trouver ou est le probleme

» nat le 05-11-2004 à 11:11
bonsoir, merci pour votre page. j'aurai une question... ou place t-on le code avec la fonction " function lienurlrewriting($url) { if (eregi("(.*).php(.*)",$url,$regs)) { $monurl = $regs[1]; $geturl = $regs[2]; while (eregi("(.*)(\?|&)([^=]+)=([^=]*)(.*)",$geturl,$regs)) { $geturl = $regs[1]."-".$regs[3]."-".$regs[4].$regs[5]; } $url = $monurl.$geturl; } elseif(eregi("(.*).php",$url,$regs)) { $url = $regs[1]; } return $url.".html"; } ? merci d'avance. a+

» Elie le 13-12-2004 à 03:12
Est-ce que le code peut marcher mais au lieu d'avoir des - j'ai des / genre www.site.com/liste.php?type=disque-dur&marque=samsung www.site.com/disque-dur/samsung/liste.html

» Skyzoboy le 14-01-2005 à 02:01
Tutorial excellent ! Comparé à tout ce que j'i vu sur le net, celui-ci est le meilleur ... là où d'autres proposent des solutions fichier par fichier, là on influe sur tous les fichiers du site ... que du bohneur ! Et puis avec la fonction php pour rewriter l'url dans le code ... Beau travail et merci aussi ;)

» Shinji le 19-01-2005 à 04:01
Pour vos problemes de caracteeres speciaux ou pour les variables passées en get, utilisés urlencode(). En plus vos & seront en & et vous pourrez vous approchez d'une page html valide xhtml1.1 ^^

» alain le 19-01-2005 à 10:01
Je cherche depuis longtemps le moyen de faire de l'url rewriting et cet article semble répondre à mon attente. Qui pourrait répondre à la question de Nat du 5 novembre 2004, à savoir ou place-t'on la function lienurlrewriting($url) sur le site que l'on veut traiter Merci par avnce pour la réponse qui m'intéresse fortement Alain

» Marco le 24-01-2005 à 03:01
Bonjour, la fonction lienurlrewriting($url) se place dans les pages où l'on veut l'utiliser. Ou mieux faire une page unique et l'intégrer dans les pages avec un include. Elie, oui ça doit pouvoir marcher, à tester. Merci à tous pour les encouragements.

» François H. le 05-02-2005 à 08:02
bonjour, tout d'abord merci pour toutes ces infos ! Il ya un petit probleme au niveau de la gestion d'erreurs : $libelle_erreur = "Erreur $message_erreur"; plutôt : $libelle_erreur = "Erreur $serveur_erreur "; non ?

» achtungbaby le 13-02-2005 à 10:02
Bonjour, j'ai essayé la méthode, mais j'ai le droit à une erreur internet 500.

» debutant le 16-02-2005 à 11:02
Slt! si vous pouvez m'aider un peu car je dos l'avouer j'ai pas tous suivi de plus je n'est jamais utiliser url si longue. Avec une Url simple du style index.php?page=index2.php Que deviens la fonction lienurlrewriting et le htaccess?

» ced le 20-02-2005 à 05:02
j'en profite pour vous féliciter aussi sur votre site entiérement en xhtml. je serai tenter pour reprogrammer tout mon CMS en xhtml

» r._xmouse le 23-02-2005 à 05:02
comment gerer un espace dans la variable ? ex:var1=voiture occasion ou voiture%20occasion je souhaiterais faire : pompes-centrifuges-caprari.html$ index.php?cat=Pompes%20centrifuges%20:%20Caprari mais si je fait un echo de $cat cela me donne : Pompes0centrifuges0:0Caprari je prefererais que cela me donne : Pompes centrifuges : Caprari Merci à vous

» xTonRx le 24-02-2005 à 05:02
bonjour à tous j'ai repiqué à lidentik le code à mettre le .htaccess je place ce htaccess ds un dossier ca me sort une erreur 404 /disques/artiste-4.html not found quelqu'un peut il m'éclaircir sur le sujet?

» markouch le 16-03-2005 à 07:03
Bonjour, effectivement cet article est rès intéressant, mais ... j'essaie depuis plusieurs semaines, sur mon serveur local(localhost sur mac os 10.3.8, apache2) de tester l'url rewriting : quoi que je fasse, le ficheir .htaccess n'est pas lu, semble-t-il ... J'ai essayé de voir dans le fichier de config d'apache (httpd.conf) s'il y avait qqchose à faire, mais je ne trouve nulle part d'explication pratique quant à la démarche à suivre. Que faut-il activer, quels modules utiliser ?... Personne n'en parle pratiquement jamais, ou alors de manière tellement obscure qu'il serait plus opportun de ne rien écrire !!... Merci de vos lumières si vous en avez. Cordialement. Marc

» Marco le 18-03-2005 à 12:03
François H : Non il n'y a pas d'erreur, faire des tests pour voir comment ça marche (en appelleant un fichier qui n'existe pas sur ce site par ex). debutant, il faudrait que tu change une chiose car tu as deux fois l'extension php dans ton exemple, mais quel intérêt ? r._xmouse, normalement il ne faut pas passer d'espace dans les url, si c'est nécessaire voir du coté des fonctions php pour décoder les url. xTonRx il faudrait connaitre la page que tu essaye d'atteindre. markouch, deux chose, assure toi que le module apache mod_rewrite est bien présent, tu peux voir ça dans un phpinfo(), si ce n'est pas le cas voir la doc apache pour l'installer.

» tonton le 20-03-2005 à 12:03
Juste un soucis pour la fonction qui convertie l'URL, sa ajoute dans l'url en HTML les nom des parametre + le contenu des variable, ce qui ne fonctionne pas : index.php?AAA=2&BBB=6 sa donne : index-AAA-2-BBB-6.html au lieu de : index-2-6.html comment corriger sa ?

» locomotive le 06-04-2005 à 11:04
Bonjour et surtout meci pour ces explications. J'ai cependant un prob de compréhension, j'ai bien mis la fonction parmis dans ma page de scripts fonctions mais comment puis-je modifier mes liens qui sont en html dans ma page php afin qu'il utilise la fonction? Par exemple : <a href="index.php?cat_id=5">, que dois-je mettre pour qu'il utilise la fonction, sorry je suis new-user en php

» DarkSquall le 12-04-2005 à 05:04
index-cat_id-5.html :-)

» 642 le 16-04-2005 à 07:04
Merci beaaucoup a vous pour cette petit astuce ;) Ca m est d une aide precieuse.

» Mikado le 21-04-2005 à 05:04
Bravo pour le tuto mais je n'arrive pas à le faire fonctionner. mon htaccess : RewriteEngine on RewriteRule ^liens-utiles-([0-9]+)\.html$ liens.php?id=$1 [L] ma page xx.php contient les infos de ma DB et me donne donc une liste d'url sous la forme monsite/liens?php?id=xx J'ai rajouté dans ma page xx.php function lienurlrewriting($url) { if (eregi("(.*).php(.*)",$url,$regs)) { $monurl = $regs[1]; $geturl = $regs[2]; while (eregi("(.*)(\?|&)([^=]+)=([^=]*)(.*)",$geturl,$regs)) { $geturl = $regs[1]."-".$regs[3]."-".$regs[4].$regs[5]; } $url = $monurl.$geturl; } elseif(eregi("(.*).php",$url,$regs)) { $url = $regs[1]; } return $url.".html"; } mais aucun changement, ma liste d'url reste au format php

» Mikado le 22-04-2005 à 09:04
Merci je viens de trouver ma conn**** pas besoin du script, juste modifier l'url qui vient de la db et mettre le id dans le html

» Fred-92 le 05-06-2005 à 06:06
Bonjour , Ets il possible de convertir l'URL : rubrique-17.html?PHPSESSID=1213.....e22a en : index.php?rubrique=17&PHPSESSID=1213.....e22a bien sur ma question porte sur le REWRITING du parametre PHPSESSID

» Alex le 06-06-2005 à 06:06
Salut, Chez moi, ça ne fonctionne pas... main-page-videos-cat-2.html => main&page=videos&cat=2.php alors qu'il devrait me donner main.php?page=videos&cat=2 Quelqu'un aurais une idée? J'ai appliquer exactement ce qui à été dit au dessus... A+ Alex

» Alex le 07-06-2005 à 08:06
Salut, Chez moi, ça ne fonctionne pas... main-page-videos-cat-2.html => main&page=videos&cat=2.php alors qu'il devrait me donner main.php?page=videos&cat=2 Quelqu'un aurais une idée? J'ai appliquer exactement ce qui à été dit au dessus... A+ Alex

» SquiD le 18-06-2005 à 12:06
Merci pour ce tuto très clair et efficace!

» Camille le 05-08-2005 à 11:08
Bonsoir, Sur un site j'ai procédé d'une manière différente : j'ai mi uniquement ces code dans le .htaccess : ErrorDocument 404 /index.php ErrorDocument 403 /index.php et dans index.php j'ai mi ce code : <?php header("HTTP/1.1 200 OK"); ?> pour que l'erreur 404 ne soit pas détectable. est ce une bonne <b>methode</b> ?

» la star des le 05-08-2005 à 11:08
hum, c'est pas stupide mais est ce que c'est une bonne technique je ne sais pas.

» cyril le 22-08-2005 à 08:08
Ce n'est absolument pas un problème de sécurité que d'afficher les erreurs 404 et autres. Je ne voit donc pas pourquoi il faudrait le cacher. En plus avec ta méthode, cela peut être déroutant, la personne s'attend à tomber sur une page, tombe sur une autre et n'a même pas le code erreur. Je suis donc pas particulièrement pour cette technique.

» www.transpuz.com le 08-09-2005 à 08:09
salut, c'est un bon tutorial, les codes sont bons mais y a une petite erreur (je dirais pas erreur mais ommission) sur le code : $url_erreur = $_SERVER["REQUEST_URI"]; $serveur_erreur = $_SERVER["REDIRECT_STATUS"]; $message_erreur['401'] = "Authentification nécessaire"; $message_erreur['403'] = "Accès interdit"; $message_erreur['404'] = "La page spécifiée n'existe pas"; $message_erreur['500'] = "Erreur interne du serveur"; $libelle_erreur = "Erreur $message_erreur"; echo "$url_erreur : $libelle_erreur : $message_erreur[$serveur_erreur]"; la différence est dans l'avant derniere ligne $url_erreur = $_SERVER["REQUEST_URI"]; $serveur_erreur = $_SERVER["REDIRECT_STATUS"]; $message_erreur['401'] = "Authentification nécessaire"; $message_erreur['403'] = "Accès interdit"; $message_erreur['404'] = "La page spécifiée n'existe pas"; $message_erreur['500'] = "Erreur interne du serveur"; $libelle_erreur = "Erreur $serveur_erreur"; echo "$url_erreur : $libelle_erreur : $message_erreur[$serveur_erreur]";

» Url le 22-09-2005 à 01:09
Bon article !

» michmich le 14-10-2005 à 02:10
comment procède-t-on pour que tous les liens "index.php?mapage=page&id=1" se transforme automatiquement en "index-mapage-page-id-1.html" dans tout le site ?

» goldo73 le 04-11-2005 à 11:11
bonsoir, tout d'abord merci pour ce tuto génial !! J'ai un pb car j'ai un "-" dans mon nom de domaine et apparament ca marche pas, nom de domaine : www.aide-covoiturage.com. D'avance merci

» goldo73 le 04-11-2005 à 11:11
bonsoir, tout d'abord merci pour ce tuto génial !! J'ai un pb car j'ai un "-" dans mon nom de domaine et apparament ca marche pas, nom de domaine : www.aide-covoiturage.com. D'avance merci

» Nikko le 16-11-2005 à 04:11
Merci pour ce script, ca faisaint longtemps que je cherchait : c'est super !

» lerebiff le 27-11-2005 à 06:11
Merci pour les explications c'est super. j'ai integré le code RewriteEngine on RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html $1$2&$3=$4$5\.html [N] RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html $1.php?$2=$3$4 [L] RewriteRule ^(.*).html $1.php [L dans un .htaccess ..Est ce que cela suffit pour que google index merci encore

» lerebiff le 27-11-2005 à 06:11
Autre question :_____faut il quand même inclure des balises META dans les page Merci a tous

» Anya le 28-11-2005 à 01:11
tant mieux si les autres ont réussi, personnellement je n'ai rien compris à ce que vous racontez je vais chercher sur un autre site pour piger comment utiliser l'url rewriting

» wawa le 26-12-2005 à 02:12
Très bon tuto marche impeck simplement je me permets de rajouter ce petit bout de code qui, au vue des commentaires (par exemple celui de michmich), en aidera peut être certain. Après avoir inclu la fonction lienurlrewriting coller ce code dans votre page pour l'utiliser : echo("<a href=\"");echo lienurlrewriting("index.php?source=ok&var1=valeur1");echo("\"/>Lien test</a>"); Bon continuation à Tous !

» NBE le 15-02-2006 à 11:02
je pensais avoir compris, voila ce que j'obtiens : http://www.bio-synergie.com/boutique/catalog.php J'ai fais plusieurs tentatives, en fait je n'ai pas trouvé où placer le code ?

» jdalga le 18-02-2006 à 08:02
Chez moi ca marche impeccable : Exemple : http://www.emd-net.com/modules-name-RssFeed.html Juste une petite question : peux t'on faire en sorte d'afficher quand meme de veritables fichiers .html (Par exemple : Google sitemaps ne peut verifier mon site car les fichiers .html donnent une erreur)

» Pvtistes.net le 22-02-2006 à 04:02
Super ton tutorial !! Merci beaucoup pour le partage ;)

» ggstraf le 05-03-2006 à 07:03
Bonjour, et merci pour cette technique très claire et simple à mettre en oeuvre. Il me reste un souci : dans mes paramètres (qui sont des titres de livres), j'ai souvent des traits d'union. Visiblement, la RewriteRule ne fonctionne pas bien dans ce cas, ce que je comprends. Peut-on changer le caractère de séparation '-' par autre chose comme £ par exemple ? Dans la fonction, je sais le faire, mais je ne sais pas quoi changer dans la RewriteRule. Merci de votre aide.

» the cat le 16-03-2006 à 02:03
Excellent article pour une première approche de l'url rewriting. Un utilitaire indispensable pour compléter cet article en testant ses url: (rxtest) disponble ici: http://www.helicontech.com/download/rxtest.zip

» Galaxie le 19-03-2006 à 02:03
Bonjour à tous, je voudrais avoir de l'aide s'il vous plait : - Le moteur de réécriture apache est activé sur le serveur - Je suis sur OVH - J'ai copié tous les codes (même celui de Wawa) - Mes liens se tranforme bien en html Mais je tombe sur une page d'erreur 404. Quelqu'un aurait-il une solution ? Merci d'avance

» alex le 23-03-2006 à 12:03
Bonjour, J'ai tester différent .htaccess pour voir si cela fonctionnait, mais je n'arrive toujours pas à faire marcher RewriteRule. J'aimerai que : http://www.alexandrenest.com/-/kuttler-shop/detail_prod.php?id=5 devienne : http://www.alexandrenest.com/-/kuttler-shop/fiche_produit_5.html Merci pour vos réponse, Cordialement, Alex

» Lio le 27-04-2006 à 10:04
En un mot : excellent !

» ska le 04-05-2006 à 02:05
bonjour, peut-on s'en servir pour une redirection de page vers un autre site qui est sur un autre emplacement ? merci

» jeronimo le 11-12-2006 à 03:12
Bonjour ! Quelqu'un pour répondre au message ciblant l'utilisation de pseudo-répertoires svp ? Celui d'Elie (13-12-2004 à 03:12) : " Est-ce que le code peut marcher mais au lieu d'avoir des - j'ai des / genre www.site.com/liste.php?type=disque-dur&marque=samsung donnerait www.site.com/disque-dur/samsung/liste.html "

» gfg le 13-12-2006 à 07:12
http://reprol.9999mb.com/cheap-replica-rolex.htm <a href="http://reprol.9999mb.com/cheap-replica-rolex.htm">cheap replica rolex</a> [url=http://reprol.9999mb.com/cheap-replica-rolex.htm]cheap replica rolex[/url] http://reprol.9999mb.com/index.htm <a href="http://reprol.9999mb.com/index.htm">rolex watch replicas</a> [url=http://reprol.9999mb.com/index.htm]rolex watch replicas[/url] http://reprol.9999mb.com/replica-rolex-watches.htm <a href="http://reprol.9999mb.com/replica-rolex-watches.htm">replica rolex watches</a> [url=http://reprol.9999mb.com/replica-rolex-watches.htm]replica rolex watches[/url] http://reprol.9999mb.com/replica-rolex.htm <a href="http://reprol.9999mb.com/replica-rolex.htm">replica rolex</a> [url=http://reprol.9999mb.com/replica-rolex.htm]replica rolex[/url] http://reprol.9999mb.com/rolex-replica-watches.htm <a href="http://reprol.9999mb.com/rolex-replica-watches.htm">rolex replica watches</a> [url=http://reprol.9999mb.com/rolex-replica-watches.htm]rolex replica watches[/url] http://reprol.9999mb.com/rolex-replica.html <a href="http://reprol.9999mb.com/rolex-replica.html">rolex replica</a> [url=http://reprol.9999mb.com/rolex-replica.html]rolex replica[/url] http://reprol.9999mb.com/rolex-replicas.htm <a href="http://reprol.9999mb.com/rolex-replicas.htm">rolex replicas</a> [url=http://reprol.9999mb.com/rolex-replicas.htm]rolex replicas[/url]

» Helga le 16-12-2006 à 04:12
Hello,: http://acnes.9999mb.com/acne-back-cause.html <a href="http://acnes.9999mb.com/acne-back-cause.html">acne back cause</a> [url=http://acnes.9999mb.com/acne-back-cause.html]acne back cause[/url] http://acnes.9999mb.com/acne-adult-woman.html <a href="http://acnes.9999mb.com/acne-adult-woman.html">acne adult woman</a> [url=http://acnes.9999mb.com/acne-adult-woman.html]acne adult woman[/url] http://acnes.9999mb.com/acne-care-scar-skin.html <a href="http://acnes.9999mb.com/acne-care-scar-skin.html">acne care scar skin</a> [url=http://acnes.9999mb.com/acne-care-scar-skin.html]acne care scar skin[/url] http://acnes.9999mb.com/acne-product-treatment.html <a href="http://acnes.9999mb.com/acne-product-treatment.html">acne product treatment</a> [url=http://acnes.9999mb.com/acne-product-treatment.html]acne product treatment[/url] http://acnes.9999mb.com/natural-home-acne-remedy.html <a href="http://acnes.9999mb.com/natural-home-acne-remedy.html">natural home acne remedy</a> [url=http://acnes.9999mb.com/natural-home-acne-remedy.html]natural home acne remedy[/url] http://acnes.9999mb.com/acne-face-creams.html <a href="http://acnes.9999mb.com/acne-face-creams.html">acne face creams</a> [url=http://acnes.9999mb.com/acne-face-creams.html]acne face creams[/url] http://acnes.9999mb.com/acne-scar-medication.html <a href="http://acnes.9999mb.com/acne-scar-medication.html">acne scar medication</a> [url=http://acnes.9999mb.com/acne-scar-medication.html]acne scar medication[/url] http://acnes.9999mb.com/acne-care-skin-system.html <a href="http://acnes.9999mb.com/acne-care-skin-system.html">acne care skin system</a> [url=http://acnes.9999mb.com/acne-care-skin-system.html]acne care skin system[/url] http://acnes.9999mb.com/acne-best-care-product-skin.html <a href="http://acnes.9999mb.com/acne-best-care-product-skin.html">acne best care product skin</a> [url=http://acnes.9999mb.com/acne-best-care-product-skin.html]acne best care product skin[/url] http://acnes.9999mb.com/acid-acne-scar-treatment.html <a href="http://acnes.9999mb.com/acid-acne-scar-treatment.html">acid acne scar treatment</a> [url=http://acnes.9999mb.com/acid-acne-scar-treatment.html]acid acne scar treatment[/url] http://acnes.9999mb.com/acne-baby-cure.html <a href="http://acnes.9999mb.com/acne-baby-cure.html">acne baby cure</a> [url=http://acnes.9999mb.com/acne-baby-cure.html]acne baby cure[/url] http://acnes.9999mb.com/cost-of-laser-treatment-for-acne-scar.html <a href="http://acnes.9999mb.com/cost-of-laser-treatment-for-acne-scar.html">cost of laser treatment for acne scar</a> [url=http://acnes.9999mb.com/cost-of-laser-treatment-for-acne-scar.html]cost of laser treatment for acne scar[/url] http://acnes.9999mb.com/best-home-remedy-for-acne.html <a href="http://acnes.9999mb.com/best-home-remedy-for-acne.html">best home remedy for acne</a> [url=http://acnes.9999mb.com/best-home-remedy-for-acne.html]best home remedy for acne[/url] http://acnes.9999mb.com/adult-acne-skin-care.html <a href="http://acnes.9999mb.com/adult-acne-skin-care.html">adult acne skin care</a> [url=http://acnes.9999mb.com/adult-acne-skin-care.html]adult acne skin care[/url] http://acnes.9999mb.com/free-trial-proactive-acne-treatment.html <a href="http://acnes.9999mb.com/free-trial-proactive-acne-treatment.html">free trial proactive acne treatment</a> [url=http://acnes.9999mb.com/free-trial-proactive-acne-treatment.html]free trial proactive acne treatment[/url]

Ajouter un commentaire (Desactivé pour cause de spam)

Votre pseudo

Garder votre pseudo dans un cookie :

Votre commentaire :

Vos données personnelles ne sont pas sauvegardées mis à part votre pseudo et votre message. Vous pouvez aller voir les règles de confidentialité sur cette page.

Fortune : glp#6663

«Ca te derange ??? Je fait ce que je veut si ca te plait pas tu vas
ailleurs gros c,, Mis a part ca si quelqun voulait bien me repondre
ce serais sympa.»
TOTO in Guide du linuxien pervers : "Bien préparer sa repartie"