Soucis URL Rewriting et paramètres GET (php)

Yop,

j'aimerais bien utiliser des pages du style "www.monsite.com/shop/produit", mais je n'y arrive pas.
Voici le RewriteRule que j'ai mis en place:
Code:
RewriteRule ^shop/(.*)$   /shop.php?product=$1 [L]
Mais ça ne fonctionne pas..

J'ai fait des tests assez simples, sans jamais trouver comment résoudre mon pb :/
Voici ma page shop.php sur laquelle j'ai fait des tests:
Code:
<?php if(isset($_GET['product'])) echo "Produit: ".$_GET['product']; ?>
Autrement dit, le soucis ne peut venir de mon fichier php..
Quelqu'un aurait-il une soluce svp?
 
Essaye peut-être ceci ?

Code:
RewriteEngine On
RewriteRule ^shop/(.*)$ shop.php?product=$1 [L]

ou, pour un hébergeur plus frileux...

Code:
RewriteEngine On
RewriteRule ^shop\/(.*)$ shop.php?product=$1 [L]

++
 
HawkEye a dit:
Essaye peut-être ceci ?

Code:
RewriteEngine On
RewriteRule ^shop/(.*)$ shop.php?product=$1 [L]

ou, pour un hébergeur plus frileux...

Code:
RewriteEngine On
RewriteRule ^shop\/(.*)$ shop.php?product=$1 [L]

++
Toujours pas, et le RewriteEngine On était plus haut, j'ai juste trouvé inutile de le préciser puisque c'est assez basique ^^
Sinon, merci de l'aide que vous tentez de m'apporter..
 
Si tu veux voir si le problème vient de la réécriture tu peux la transformer en redirection en ajoutant le "R" :
Code:
RewriteEngine On
RewriteRule ^shop/(.*)$   /shop.php?product=$1 [L,R]
Si la redirection se fait c'est que le problème ne vient pas de là.

Tu peux aussi tester avec une valeur de "product" fixe :
Code:
[code]RewriteEngine On
RewriteRule ^shop/test$   /shop.php?product=test [L]
 
HawkEye a dit:
MEH... :?

Est-ce que tu peux préciser qui est ton hébergeur ?
J'héberge localement pour l'instant, vu que je suis seulement en train de coder le site ^^

forty a dit:
Si tu veux voir si le problème vient de la réécriture tu peux la transformer en redirection en ajoutant le "R" :
Code:
RewriteEngine On
RewriteRule ^shop/(.*)$   /shop.php?product=$1 [L,R]
Si la redirection se fait c'est que le problème ne vient pas de là.

Tu peux aussi tester avec une valeur de "product" fixe :
Code:
[code]RewriteEngine On
RewriteRule ^shop/test$   /shop.php?product=test [L]
Et il me semble avoir déjà éssayé avec les valeurs "définies", si je me souviens bien du moins.. Et ça ne fonctionnait pas non plus.. :/ (Or, lorsque j'accède à la page shop.php avec comme paramètre GET "product=xxx", ça fonctionne..
 
si tu mets n'importe quoi dans ton .htaccess, tu as bien une erreur 500 ? afin de vérifier que le .htaccess est bien appelé.
 
c'est surement parce que tu as une url avec un répertoire avant /shop/xxx du style =>http://localhost/test/shop/xxx

Tu as des conseils ici =>http://www.phpsources.org/developper-un-site-en-local_98.html
 
baud74 a dit:
si tu mets n'importe quoi dans ton .htaccess, tu as bien une erreur 500 ? afin de vérifier que le .htaccess est bien appelé.

Non, pourtant l'URL rewriting est bien activé, car si j'utilise cette règle:
Code:
RewriteRule ^shop$ /shop.php [L]
ça fonctionne très bien..
 
sauf que ce n'est pas le .htaccess qui permet cela mais un module qui retourne quelque chose quand une url proche d'une existante est appelée.
 

➡️ 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
Discussions similaires
Haut