Url Rewritting

Eléphant du PHP | 100 Messages

21 avr. 2019, 14:17

Bonjour Toutes et à Tous,

J'essaie de modifier ma présentation d'url
J'ai un menu vertical dynamique

Code : Tout sélectionner

http://mositeenligne/store/index.php?action=Pergola
j'ai modifié mon fichier htaccess
RewriteRule store/([a-zA-Z0-9\-]+)-([0-9]+) /store/index.php?action=$1
mais sans succès en sachant que lors du clic dans le menu il doit me renvoyer à la même page

Merci beaucoup

Mammouth du PHP | 2703 Messages

21 avr. 2019, 14:41


Eléphant du PHP | 100 Messages

21 avr. 2019, 14:55

Bonjour Merci, de vous pencher sur mon problème
L'Url testée est :

Code : Tout sélectionner

http://mositeenligne/store/index.php?action=Pergola

Eléphant du PHP | 100 Messages

21 avr. 2019, 16:01

Bonjour Toutes et à Tous,

J'essaie de modifier ma présentation d'url
J'ai un menu vertical dynamique

Code : Tout sélectionner

http://mositeenligne/store/index.php?action=Pergola
j'ai modifié mon fichier htaccess
RewriteRule store/([a-zA-Z0-9\-]+)-([0-9]+) /store/index.php?action=$1
mais sans succès en sachant que lors du clic dans le menu il doit me renvoyer à la même page

Merci beaucoup
avec :
http://mositeenligne/store/Pergola-123
http://mositeenligne/Pergola-148
http://mositeenligne/Pergola-12345
mais pas avec :
http://mositeenligne/store/Pergola
http://mositeenligne/Pergola-148

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 avr. 2019, 16:11

Ta règle de réécriture cherche une url :
- qui commence par "store/"
- suivi d'un mot alphanumérique en majuscule ou minuscule
- suivi du caractère "-"
- suivi d'un nombre

Si tu testes une url qui ne correspond pas à ces règles, alors c'est normal que la réécriture ne fonctionne pas
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 100 Messages

22 avr. 2019, 09:51

Merci @rthur,
j'ai modifié : RewriteRule store/([a-zA-Z0-9\-]+) store/index.php?menuaffichage=$1
Ok avec https://htaccess.madewithlove.be/
J'ai changé action par : menuaffichage

Eléphant du PHP | 100 Messages

22 avr. 2019, 09:54


Eléphant du PHP | 100 Messages

23 avr. 2019, 09:21

mon code php

#emplacement = ancre sur la page
while ($donnees04 = $reponse->fetch())
{
$menuaffichage = $donnees04['menu'];

echo "<p><a href='index.php?action=".$menuaffichage."#emplacement' title='Affichage Menu'>".$menuaffichage."</a></p>";
}
lors du clic sur l'item du menu : store/index.php?action=Pergola#emplacement
J'aimerai une url dans le genre : store/Pergola
htaccess : RewriteRule store/([a-zA-Z0-9\-]+) /store/index.php?action=$1
pas d'erreur mais au passage de la souris et clic sur l'item pas de changement
Merci

Eléphant du PHP | 100 Messages

23 avr. 2019, 09:25

Re Bonjour,
après test sur https://htaccess.madewithlove.be/
J'ai bien une erreur
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

23 avr. 2019, 10:06

Quelle erreur ?

Quelle url testes-tu et quel règles as-tu mis en place ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 100 Messages

23 avr. 2019, 15:38

Merci @rthur,
j'utilise l'url suivante :monsite /store/index.php?action=Pergola

Fichier htaccess : voici la règle que j'utilise : RewriteRule store/([a-zA-Z0-9\-]+) /store/index.php?action=$1
merci

Mammouth du PHP | 2703 Messages

23 avr. 2019, 15:59

il n'y a pas le . dans [a-zA-Z0-9\-] donc index.php ne peut pas être détecté.
après, pour une telle url, pas besoin de redirection vu que c'est la vraie url.

Eléphant du PHP | 100 Messages

23 avr. 2019, 16:12

Merci or 1
Je peux donc laisser l'url telle quelle se voit : monsite /store/index.php?action=Pergola

Merci Beaucoup

Mammouth du PHP | 2703 Messages

23 avr. 2019, 16:34

vous dites :
"J'essaie de modifier ma présentation d'url"
si vous gardez monsite /store/index.php?action=Pergola vous ne modifiez rien.

Eléphant du PHP | 100 Messages

24 avr. 2019, 09:35

Bonjour or 1
Effectivement : j'ai actuellement ceci comme url en cliquant sur l'item du menu : monsite /store/index.php?action=Pergola

J'aimerai avoir une url du style : monsite /store/Pergola
Est-ce possible ?
Merci