Soucis URL Rewriting et paramètres GET (php)

Nouveau WRInaute
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?
 
WRInaute accro
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]

++
 
Nouveau WRInaute
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..
 
WRInaute passionné
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]
 
Nouveau WRInaute
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..
 
WRInaute impliqué
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é.
 
WRInaute passionné
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
 
Nouveau WRInaute
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..
 
WRInaute impliqué
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.
 
Discussions similaires
Haut