Aller au contenu

avoir une belle url rewriting


Sunka

Sujets conseillés

Bonjour, j'essaye de faire la réécriture d'url pour mon site qui est déjà à PR3 sur google en 1 mois et demi. Nous avons beaucoup travaillé sur le contenu textuel du site et cela a payé.

J'ai lu l'article sur le Hub concernant cette technique, j'ai lu aussi les posts forum que j'ai pu trouvé, eh ben j'ai du mal à faire fonctionner cela.

mon serveur accepte l'url rewriting.

Je possède une url du style suivant : http://www.monsite.com/achat/index.php?catid=25

je place donc mon fichier .htaccess dans le dossier "achat".

le .htaccess contient le code suivant :

RewriteEngine on 
RewriteRule ^achat/(.+)-([0-9]+)\.html$  /achat/index.php?catid=$1 [L]

Ai-je bien écrit le code ou alors me suis-je planté? car cela ne fonctionne pas.

Merci, Cordialement Sunka

Lien vers le commentaire
Partager sur d’autres sites

salut, j'ai vu ton post, mais toi ta variable et du texte alors que moi c'est des chiffres que je veux réécrire en texte et si possible en un mot clé.

Le système est le même que le tien mais comment transfomer les chiffres en texte??

Cordialement

Sunka

Lien vers le commentaire
Partager sur d’autres sites

si ta variable a récupérer est la variable en chiffre, donc celle apres le "-" je suppose essaye plutot ca :

RewriteEngine on
RewriteRule ^achat/(.+)-([0-9]+)\.html$  /achat/index.php?catid=$2 [L]

$1 étant tout ce qui se trouve entre "achat/" et "-"

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)
si ta variable a récupérer est la variable en chiffre, donc celle apres le "-" je suppose essaye plutot ca :

RewriteEngine on
RewriteRule ^achat/(.+)-([0-9]+)\.html$  /achat/index.php?catid=$2 [L]

$1 étant tout ce qui se trouve entre "achat/" et "-"

<{POST_SNAPBACK}>

Salut, j'ai essayé cela ne marche pas. Mais je pense que je fais mal une chose et j'arrive pas à savoir la laquelle.

Car en fait je voudrais supprimer &quot;http://www.monsite.com/achat/index.php?catid=25"

pour le transformer en &quot;http://www.monsite.com/achat/motclé.html"

Si tu as une idée?

Cordialement.

Sunka

Modifié par Sunka
Lien vers le commentaire
Partager sur d’autres sites

je ne suis pas spécialiste de l'url rewriting mais j'ai quand même vu une erreur :

RewriteRule ^achat/(.+)-([0-9]+)\.html$  /achat/index.php?catid=$1 [L]

les $1 $n etc... font références aux groupes de parenthèses de la première expression.

or tu as 2 parenthèses...

donc si tu veux récupérer l'id, il faut déjà mettre

RewriteRule ^achat/(.+)-([0-9]+)\.html$  /achat/index.php?catid=$2 [L]

voilà, peut être que cela t'approchera de la réussite ;)

<edit : c'est pas possible ca! on a plus le temps d'ecrire son message sans se faire piquer la place :lol: >

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

Salut, j'ai essayé cela ne marche pas. Mais je pense que je fais mal une chose et j'arrive pas à savoir la laquelle.

Car en fait je voudrais supprimer &quot;http://www.monsite.com/achat/index.php?catid=25"

pour le transformer en &quot;http://www.monsite.com/achat/motclé.html"

Si tu as une idée car là je patine?

Cordialement.

Sunka

Modifié par Sunka
Lien vers le commentaire
Partager sur d’autres sites

Salut, j'ai essayé cela ne marche pas. Mais je pense que je fais mal une chose et j'arrive pas à savoir la laquelle.

Car en fait je voudrais supprimer &quot;http://www.monsite.com/achat/index.php?catid=25"

pour le transformer en &quot;http://www.monsite.com/achat/motclé.html"

Si tu as une idée?

Cordialement.

Sunka

<{POST_SNAPBACK}>

le problème, c'est que "motclé" n'est pas présent dans la première url... donc pour la réécriture qui consiste uniquement a changer la mise en forme... et bien c'est loupé!

le serveur ne peut pas inventer ton mot clé !

il faut alors avoir des urls du genre :

http://www.monsite.com/achat/index.php?cat...ef=nomcategorie

ensuite tu pourras avoir une réécriture d'url du genre

http://www.monsite.com/achat/nomcategorie-25.html

Lien vers le commentaire
Partager sur d’autres sites

oui bon, je ne suis peut être pas très clair.

reprenons depuis le début.

Le but de la manoeuvre est que les visiteurs (notamment les moteurs de recherche) voient quelque chose dans le genre

http://www.monsite.com/achat/nomcategorie-25.html

et qu'ensuite ton script recoive une url de type :

http://www.monsite.com/achat/index.php?catid=25

Donc tu as 2 choses a faire :

- creer la regle de réécriture qui transformera l'adresse 1 en adresse 2

(soit http://www.monsite.com/achat/nomcategorie-25.html en http://www.monsite.com/achat/index.php?catid=25)

- programmer le script pour qu'il te construise des liens de type

http://www.monsite.com/achat/nomcategorie-25.html

donc du genre :

echo &quot;http://www.monsite.com/achat/",$nomcategorie,"-",$idcat,".html"

cela dit, ce n'est pas parce que tu mentionneras le nom de la catégorie que tu es obligé de l'utiliser dans le script suivant.

le nom est superflux pour ton programme et n'est utile que pour les moteurs de recherche.

est-ce clair?

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

oui c'est clair. Par contre la je viens de mettre en place le htaccess suivant :

Options +FollowSymlinks

RewriteEngine on

RewriteRule ^([^-]+).html$ index.php?catid=$1 [L]

donc lorsque je tape www.monsite.com/achat/25.html ma page qui correspond apparait bien, donc cela fonctionne.

Ma question est comment les visiteurs et les robots vont-ils savoir qu'ils peuvent taper www.monsite.com/achat/25.htm pour avoir la page affichée car mes liens sur mon site sont toujours en ecriture normale avec les variables, faut-il que je réécrive les liens dans mon site également?

Une action m'échappe? pourrais-tu m'éclairer merci

Modifié par Sunka
Lien vers le commentaire
Partager sur d’autres sites

Ma question est comment les visiteurs et les robots vont-ils savoir qu'ils peuvent taper www.monsite.com/achat/25.htm pour avoir la page affichée car mes liens sur mon site sont toujours en ecriture normale avec les variables, faut-il que je réécrive les liens dans mon site également?

Une action m'échappe? pourrais-tu m'éclairer merci

<{POST_SNAPBACK}>

tout a fait,

j'avais bien dit dans mon précédent message que tu avais 2 choses a faire :

- la réécriture d'url dsans ton htaccess

ET

- adapter ton script php pour qu'il affiche des urls de type www.monsite.com/achat/nomcategorie-25.htm

Lien vers le commentaire
Partager sur d’autres sites

Sunka,

Tes difficultés proviennent d'une mauvaise compréhension de la réécriture d'URL.

Trouver une catégorie 25 lorsqu'on demande motcle-25.html est simple parce que le 25 (num de catégorie) est dans l'URL.

Mais par contre il faut, comme Vincent te l'a expliqué, modifier tes scripts pour que les URLs générées soient de la forme motcle-25.html et non sous celle index.php?cat_id=25.

Aucune règle de .htaccess ne te permettra de trouver automatiquement le mot-clé "motcle" sur base du numéro de catégorie. C'est dans les sources de tes scripts qu'il faudra générer ce "motcle", pas ailleurs.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...