htaccess URL Rewriting

Pour les questions sur le référencement, les moteurs de recherche, le SEO
Nanard90
Messages : 34
Enregistré le : 30 déc. 2020, 13:26

htaccess URL Rewriting

Message par Nanard90 » 15 sept. 2024, 10:42

Bonjour à Toutes et à Tous,

J'aimerai dans l'idéal avoir une url dans la barre d'adresse du navigateur qui soit comme ceci : monsite-affichagebienlocation-5 (ici le 5 est mon id)
URL Originale :

Code : Tout sélectionner

 http://monsite/affichagebienlocation/index.php?bienchoisi=5
j'ai essayé plusieurs solutions sans succès :

Code : Tout sélectionner

RewriteRule ^([^/.]+)/?$ affichagebienlocation/index.php?bienchoisi=$1 [QSA]
RewriteRule ^\.php$ /affichagebienlocation/index.php?bienchoisi=1 [L]
Cela fait une semaine que je tente plusieurs solution dans ma barre d'adresse j'ai toujours :

Code : Tout sélectionner

 http://monsite/affichagebienlocation/index.php?bienchoisi=5
Aussi bien en local(Wampserver Apache 2.4.62) que sur OVH Mutualisé

Une aide serait la bienvenue
Merci

Avatar du membre
webmaster
Administrateur du site
Messages : 602
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 15 sept. 2024, 11:35

Bonjour

Je n'ai pas bien compris la demande mais ca ressemble à quelque chose de classique

Par exemple, sur mon autre site

Code : Tout sélectionner

https://mellifere.com/plantes/mellifere-rose-tremiere.php
J'ai le htaccess de /plantes/ avec ca :

Code : Tout sélectionner

RewriteEngine on
RewriteRule ^(mellifere-)([a-zA-Z0-9_\-]+).php(.*)$						index.php?phpfile=$2$3 [QSA,L]
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Nanard90
Messages : 34
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 15 sept. 2024, 14:40

Bonjour webmaster,

Merci pour votre réponse mais j'obtiens une erreur Internal Server Error

J'ai plusieurs enregistrements(id) sur ma page location, si je clique sur un enregistrement il me renvoie sur une page affichagebienlocation avec le numéro de l'enregistrement(id) ici c'est l'id : 5 mais cela pourrait être le 15

Ce que j'aimerais mais qui ne fonctionne pas c'est une url dans la barre d'adresse comme ceci : Location-5

ma véritable url en local est :

Code : Tout sélectionner

 http://monsite/affichagebienlocation/index.php?bienchoisi=5
(ou monsite à été modifié volontairement)
Je ne comprends pas ce qui cloche

Merci pour votre aide

Cordialement

Nanard90
Messages : 34
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 15 sept. 2024, 18:14

Bonjour Webmaster,

votre code ne fonctionne pas chez moi erreur : Internal Server Error

Code : Tout sélectionner

RewriteRule ^(mellifere-)([a-zA-Z0-9_\-]+).php(.*)$	
Votre code modifié pour mon site :

Code : Tout sélectionner

RewriteRule ^(location-)([a-zA-Z0-9_\-]+).php(.*)$
D'où vient mon erreur ?

Avatar du membre
webmaster
Administrateur du site
Messages : 602
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 15 sept. 2024, 18:49

Il manque le renvoi vers la page de destination du rewriterule

Code : Tout sélectionner

RewriteRule ^(mellifere-)([a-zA-Z0-9_\-]+).php(.*)$	index.php?phpfile=$2$3 [QSA,L]
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Nanard90
Messages : 34
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 16 sept. 2024, 13:52

Bonjour Webmaster,


Merci pour votre aide
mon fichier .htaccess est bien à la racine de mon site : ensuite dossier
- location
- affichagebienlocation

Effectivement le code fonctionne (plus d'erreur) mais l'url ne change pas chez moi

Code : Tout sélectionner

RewriteRule ^(affichagebienlocation-)([a-zA-Z0-9_\-]+).php(.*)$	affichagebienlocation\index.php?phpfile=$2$3 [QSA,L]
Voici mon href qui mène sur la page affichagebienlocation :

Code : Tout sélectionner

echo'<a href="../affichagebienlocation/index.php?bienchoisi='.$renvoi.'" class="img">';
$renvoi est l'ID de mon enregistrement

Je dois mal m'y prendre je pensais naïvement que le RewriteRule était 1ère partie : le nom que l'on donne à l'URL embellie et la 2ème partie l'url réelle

pourquoi mon url dans la barre d'adresse est toujours :

Avatar du membre
webmaster
Administrateur du site
Messages : 602
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 17 sept. 2024, 20:30

Ha je comprends la méprise

L'urlRewrite ne change pas l'url dans le navigateur
Ca permet juste d'expliquer au serveur comment fonctionne l'url embellie

Il faut donc faire tous les liens avec l'url embellie
Mais l'url technique fonctionne aussi
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Avatar du membre
webmaster
Administrateur du site
Messages : 602
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 17 sept. 2024, 20:31

Ha je comprends la méprise

L'urlRewrite ne change pas l'url dans le navigateur
Ca permet juste d'expliquer au serveur comment fonctionne l'url embellie

Il faut donc faire tous les liens avec l'url embellie
Mais l'url technique fonctionne aussi
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

AkiraM26
Messages : 3
Enregistré le : 17 sept. 2024, 20:29

Re: htaccess URL Rewriting

Message par AkiraM26 » 17 sept. 2024, 20:41

Normalement une fois que tu as tes url's embellis, tu dois uniquement utiliser ces dernières.
Sinon, google n'aime pas trop lorsqu'il y a des 301 partout.

Nanard90
Messages : 34
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 20 sept. 2024, 09:29

Bonjour et merci à Webmaster et AkiraM26 pour leurs réponses pertinentes

Effectivement, j'ai fais des recherches et les URL's doivent être embellies avant

Voici mon résultat :

Code : Tout sélectionner

$renvoi = $ligne['id'].'/'.$ligne['titre'];
et mon href :

Code : Tout sélectionner

echo'<a href="../affichagebienlocation/?bienchoisi='.$renvoi.'" class="img">';
ce qui me donne dans la barre d'adresse :

Code : Tout sélectionner

monsite/affichagebienlocation/?bienchoisi=5/MON TITRE
Je ne sais pas si c'est possible mais j'aimerais avoir une URL sans le numéro d'ID (ici le 5) voir supprimer bienchoisi=5
dans ma page affichagebienlocation :

Code : Tout sélectionner

$id = explode('/', $_GET['bienchoisi'])[0];
pour ne récupérer que l'id, cela fonctionne
pensez-vous que mon URL est 'présentable' titre est en majuscule pensez-vous que cela soit un problème pour GOOGLE

Merci

Répondre