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

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

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

Message le Ven Juil 01, 2005 11:13

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)
Dernière édition par MrMetal le Dim Juil 03, 2005 9:53, édité 1 fois.


ppan
WRInaute discret
WRInaute discret
 
Messages: 94
Inscription: Jeu Mai 26, 2005 23:03

Re: url rewriting & PHP: erreur dans .htaccess?

Message le Ven Juil 01, 2005 11:43

MrMetal a écrit: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: Tout sélectionner
RewriteRule ^ma-page([0-9]+)\.php  index.php?id=$1  [QSA,L]

qui te permet d'écrire
Code: Tout sélectionner
<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

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

Message le Ven Juil 01, 2005 11:57

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>


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Ven Juil 01, 2005 13:12

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]+
;)

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

Message le Ven Juil 01, 2005 13:56

cela ne marche tjrs pas ...

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^index/([A-Za-z]+)/([0-9]+)$ index.php?filtre=$1&id=$2 [QSA,L]

lorsque je fais un <? if(isset($_GET['filtre'])) echo "réussi"; ?> cela ne marche toujours pas :/
or ceci http://www.sexy-angelo.net/MrMetal/port ... ndex/PHP/1 devrait etre interprété en ça http://www.sexy-angelo.net/MrMetal/port ... tre=PHP&id =1

filtre est donc bien défini...


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Ven Juil 01, 2005 16:30

A mon avis tes règles devraient être définies à partir de la racine :
/MrMetal/portfolio/grenier/index/....

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

Message le Ven Juil 01, 2005 16:36

RewriteRule ^/MrMetal/portfolio/grenier/index/([A-Za-z]+)/([0-9]+)$ /MrMetal/portfolio/grenier/index.php?filtre=$1&id=$2 [QSA,L]

comme ceci ?

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

Message le Sam Juil 02, 2005 12:18

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?


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Sam Juil 02, 2005 13:01

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: Tout sélectionner
print_r($_GET)

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

Message le Sam Juil 02, 2005 13:46

Voici le contenu du .htaccess
Code: Tout sélectionner
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: Tout sélectionner
<?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 ..


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Sam Juil 02, 2005 15:18

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

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

Message le Sam Juil 02, 2005 15:33

tjrs pas .... je vais devenir fou lol

probleme:

Code: Tout sélectionner
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!


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Sam Juil 02, 2005 16:25

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.

MrMetal
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Juil 01, 2005 11:08

Message le Sam Juil 02, 2005 16:51

J'arrive pas a trouver je pense que je vais laisser tomber l'url rewriting...


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités