?id=* vers bidule-$id-mot-clef.html

  • Auteur de la discussion Auteur de la discussion pouet50
  • Date de début Date de début
WRInaute occasionnel
EDIT : Encore désolé pour le Titre explicite ... :cry:


Bon je vais essayer d'expliquer ce que j'essaie de faire.


Tout d'abord, j'ai fait un UR de ce type :

Code:
document.php?id=3 -> document-3.html
Je me demande s'il est possible à présent qu'un lien du type :

Code:
document-3-[b]mot-clef[/b].html puisse pointer vers la page document.php?id=3
J'utilise pour cela MySQL comme ceci :

Code:
$id = $document["id"];
$ur = $document["ur"];
qui est le champ ou je stock le mot clef du type "mot-clef".

Je fais donc ceci ensuite :

Code:
<a href=\"document-[b]$id[/b]-[b]$ur[/b].html\"></a>
Comment alors bien modifier le .htaccess pour que le lien document-$id-$ur.html pointe vers document.php?id=$id ...


Même moi j'ai du mal en me relisant :cry:
 
WRInaute occasionnel
J'ai essayé cela aussi :

Code:
RewriteEngine on
RewriteRule ^document-([0-9]+)-([0-9a-z]+)\.html$ document.php?id=$1 [L]

mais ca ne fonctionne pas.

en fait, et la nuit m'a rafraichir les idées :P :

document-4-mot-clef pointe vers document.php?id=4 ...
 
WRInaute discret
il faut que tu rajoute un tiret dans la liste des caractères acceptés: ([-0-9a-z]+) ou au pire tu met ça à la place: (.*)
 
WRInaute occasionnel
bob23 a dit:
il faut que tu rajoute un tiret dans la liste des caractères acceptés: ([-0-9a-z]+) ou au pire tu met ça à la place: (.*)


Super!

Merci ;) ca march très bien avec le - !

Encore merci à tous ;)
 
Nouveau WRInaute
je ne comprends pas chez moi ca ne fonctionne pas,
en fait j'essaie de modifier :

>> artiste.php3?num=12
vers
>> artiste-12-nomdelartiste.html


j'ai essayé avec cette règle :

RewriteEngine on
RewriteRule ^artiste-([0-9]+)-([-0-9a-z]+)\.html$ artiste.php3?num=$1 [L]:

mais je tombe sur une 404 à chaque fois que j'essaie,
quelqu'un peut il m'aider ?
 
WRInaute occasionnel
noiwid a dit:
je ne comprends pas chez moi ca ne fonctionne pas,
en fait j'essaie de modifier :

>> artiste.php3?num=12
vers
>> artiste-12-nomdelartiste.html


j'ai essayé avec cette règle :

RewriteEngine on
RewriteRule ^artiste-([0-9]+)-([-0-9a-z]+)\.html$ artiste.php3?num=$1 [L]:

mais je tombe sur une 404 à chaque fois que j'essaie,
quelqu'un peut il m'aider ?

Chez quel hébergeur es-tu ?
Si tu es chez ovh :

RewriteEngine on
RewriteRule ^artiste-([0-9]+)-([-0-9a-z]+)\.html$ /artiste.php3?num=$1 [L]:

Ou s'il y a des majuscules dans l'url

RewriteEngine on
RewriteRule ^artiste-([0-9]+)-([-0-9a-zA-Z]+)\.html$ /artiste.php3?num=$1 [L]:

Ca marche comme cela ?
 
Nouveau WRInaute
mais en fait ca ne fonctionne toujours pas !!
c'est génant si j'ai des lignes

ErrorDocument 401 http://www.xxx.com/erreur.php3
ErrorDocument 402 http://www.xxx.com/erreur.php3

en dessous des regles ?

je résume mon htaccess est comme ca :

RewriteEngine on
RewriteRule ^artiste-([0-9]+)-([-0-9a-z]+)\.html$ /artiste.php3?num=$1 [L]

ErrorDocument 401 http://www.xxx.com/erreur.php3?errortype=401
ErrorDocument 403 http://www.xxx.com/erreur.php3?errortype=403
ErrorDocument 404 http://www.xxx.com/index.php3
ErrorDocument 500 http://www.xxx.com/erreur.php3?errortype=500
 
Nouveau WRInaute
ah ok, je viens de comprendre, dans cette configuration je suis OBLIGé de passer quelque chose apres le num :

http://www.xxx.com/artiste-1-nomartiste.html

je ne peux pas me contenter de faire des liens comme ca :

http://www.xxx.com/artiste-1.html

peux on faire une syntaxe plus flexible qui permet que je passe OU NON la suite derrière mon ID ??
 
WRInaute occasionnel
noiwid a dit:
ah ok, je viens de comprendre, dans cette configuration je suis OBLIGé de passer quelque chose apres le num :

http://www.xxx.com/artiste-1-nomartiste.html

je ne peux pas me contenter de faire des liens comme ca :

http://www.xxx.com/artiste-1.html

peux on faire une syntaxe plus flexible qui permet que je passe OU NON la suite derrière mon ID ??

Lis le .htaccess et essaie de le comprendre ;) (à moins que ce ne soit déjà fait).
Pour faire passer des liens comme cela :

http://www.xxx.com/artiste-1.html

Te suffit de virer :

RewriteEngine on
RewriteRule ^artiste-([0-9]+)-([-0-9a-z]+)\.html$ /artiste.php3?num=$1 [L]

Ce qu'il y a en gras.

A mon avis, tu as déjà saisi entre temps ;)
 
WRInaute occasionnel
Pour la flexibilité, je crois que c'est faisable.
Mais la j'ai pas assez de connaissance en UR pour te répondre ...

Essaie ca (.*) à la place de ce qu'il y a en gras (vraiment au pif) ... :(
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Haut