Page 1 sur 4

htaccess URL Rewriting

Posté : 15 sept. 2024, 10:42
par Nanard90
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

Re: htaccess URL Rewriting

Posté : 15 sept. 2024, 11:35
par webmaster
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]

Re: htaccess URL Rewriting

Posté : 15 sept. 2024, 14:40
par Nanard90
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

Re: htaccess URL Rewriting

Posté : 15 sept. 2024, 18:14
par Nanard90
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 ?

Re: htaccess URL Rewriting

Posté : 15 sept. 2024, 18:49
par webmaster
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]

Re: htaccess URL Rewriting

Posté : 16 sept. 2024, 13:52
par Nanard90
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 :

Re: htaccess URL Rewriting

Posté : 17 sept. 2024, 20:30
par webmaster
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

Re: htaccess URL Rewriting

Posté : 17 sept. 2024, 20:31
par webmaster
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

Re: htaccess URL Rewriting

Posté : 17 sept. 2024, 20:41
par AkiraM26
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.

Re: htaccess URL Rewriting

Posté : 20 sept. 2024, 09:29
par Nanard90
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