[fini] url rewriting & PHP: erreur dans .htaccess?

Bonjour, je suis en train de faire le site http://www.sexy-angelo.net/MrMetal/portfolio/grenier/ et en même temps d'apprendre l'url rewriting. Après toutes mes tentatives je n'arrive pas a le faire fonctionner. En effet j'ai placé un .htaccess a la racine du site (http://www.sexy-angelo.net/MrMetal/portfolio/grenier/)
Il ressemble a ceci
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^index/([A-Za-z])/([0-9])$ /index.php?filtre=$1&id=$2 [L]

J'ai des urls du type http://www.sexy-angelo.net/MrMetal/port ... ndex/PHP/1 et qui devrait etre http://www.sexy-angelo.net/MrMetal/port ... e=PHP&id=1

Je n'ai pas d'erreur mais lorsque je tente de récupérer $_GET['filtre'] on me dit qu'il n'est pas défini (isset)
 
Re: url rewriting & PHP: erreur dans .htaccess?

MrMetal a dit:
Je n'ai pas d'erreur mais lorsque je tente de récupérer $_GET['filtre'] on me dit qu'il n'est pas défini (isset)
La solution serait d'ajouter le flag [QSA] en fin de ligne, afin de récupérer tes query strings. Exemple :
Code:
RewriteRule ^ma-page([0-9]+)\.php  index.php?id=$1  [QSA,L]
qui te permet d'écrire
Code:
<a href='ma-page7.php?start=5'>Glop</a>
et donc de récupérer toutes les variables $_GET qui vont bien (et qui n'ont rien à faire dans la réécriture).

PP
 
J'ai peur de ne pas avoir compris...
Je veux dire je n'ai aucun interet de faire comme cela : <a href='ma-page7.php?start=5'>Glop</a>
Je veux justement aucun "?" ni "&" afin de ne pas avoir les noms de variable $_GET

Dans ton exemple il me faudrai <a href='ma-page/7/5'>Glop</a> comme liens qui fasse <a href='ma-page.php?id=7&start=5'>Glop</a>
 
Salut
[A-Z] désigne la classe "lettres en majuscules". Tu n'as pas précisé, dans ton exemple, combien de caractères de chaque classe peuvent être présents.

Je parie qu'avec /A/1 au lieu de /PHP/1 ça marche ;)
Mets un + après la définition de la classe pour dire 'au moins une lettre' au lieu de 'une lettre' :
[a-zA-Z]+
;)
 
RewriteRule ^/MrMetal/portfolio/grenier/index/([A-Za-z]+)/([0-9]+)$ /MrMetal/portfolio/grenier/index.php?filtre=$1&id=$2 [QSA,L]

comme ceci ?
 
apparement l'url rewriting marche vu que je ne tombe pas sur une erreur 404 si je fait [...]/index/PHP/1

le problme est surment que je ne peux pas récuperer les valeur des variable... comment faire?
 
As-tu d'autres règles de réécriture ?
Donne le contenu de ton .htaccess s'il te plaît.

Et au lieu de ton isset, fais plutôt un
Code:
print_r($_GET)
 
Voici le contenu du .htaccess
Code:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /MrMetal/portfolio/grenier/
RewriteRule ^index/([A-Za-z]+)/([0-9]+)/$ index.php?filtre=$1&id=$2 [L]

Et j'ai rajouté ceci a l'index.php
Code:
<?php print_r($_GET); ?>

-> résultat : http://www.sexy-angelo.net/MrMetal/port ... dex/PHP/1/

Ca ne passe pas apparement...

En réflechissant peut etre que des regles de dotclear (mon blog http://www.sexy-angelo.net/MrMetal/) puissent interferer non ?

J'ai mon hébergement chez OVH si cela peut vous aider ..
 
tjrs pas .... je vais devenir fou lol

probleme:

Code:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /MrMetal/portfolio/grenier/
RewriteRule ^index/([A-Za-z]+)/([0-9]+)/$ [b]/existepas.php?[/b]filtre=$1&id=$2 [L]

Je n'ai pas de page d'erreur 404 lorque je rentre cela alors que la page existepas.php n'existe vrmt pas!
 
Je ne sais pas comment tu as fait ton compte, mais toutes les pages en -http://www.sexy-angelo.net/MrMetal/portfolio/grenier/index/ renvoient à la même... tu dois avoir une règle de réécriture bizarre qui traîne quelque part.
 

➡️ 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