Problème : $_GET

WRInaute discret
Bonjour, voilà ce que j'ai mis dans mon fichier .htaccess :
Code:
Options +FollowSymlinks
RewriteEngine On 
RewriteRule ^page_([a-zA-Z0-9]*).html$ page.php?page=$1 [L]
et maintenant quand je tappe page_ex.html alors la page : page.php est afficher mais si je fais sur la page page.php :echo $_GET['page'];
alors il ne s'affiche rien.
Pourquoi ??
Merci :D
P.S : hébergement : host-dream
 
WRInaute discret
Salut,

Est-ce qu'il n'y aurait pas de problème avec le Register_global sur Off... (paramétrage du serveur) ?
Je sais que ça peut gêner la récupération de variables.
 
H
Haq
Guest
magicien a dit:
Salut,

Est-ce qu'il n'y aurait pas de problème avec le Register_global sur Off... (paramétrage du serveur) ?
Je sais que ça peut gêner la récupération de variables.

Au contraire, il vaut mieux le mettre à off le Register_global... sinon la sécurité en prend un coup.
 
WRInaute occasionnel
Question stupide: si tu tapes directement page.php?page=ex
Il te sort qqchose pour _GET['page'] ?
Et un print_r($_GET) donne quoi ?

[edit] et la version php, au fait ?
 
Nouveau WRInaute
Bonjour,

je débute l'url rewrting, et la majorité de mes pages fonctionnent à partir de récupération de variable en GET...

mon .htaccess
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule   ^accueil.html?lang=(-[a-z]*)$   default.php?page=home&lang=$1 [L]
RewriteRule   ^contact.html$   default.php?page=contact&do=form&lang=$1 [L]

j'ai déjà une premiere erreur de reconnaissance de la variable lang, ainsi, la page redirige bien vers la bonne page, ms ne prend pas en compte ma variable... donc rien ne s'affiche puisque la langue n'est pas définie...


autre question : si je tape l'adresse complète du type default.php?page=home&lang=fr cette adresse est conservée dans la barre d'url... n'y a-t-il pas possibilité que meme en tapant l'adresse complète, le visiteur est directement rediriger vers l'url rewritée ??? (j'espere avoir été clair... :oops: )

Merci d'avance :)
 
WRInaute occasionnel
Code:
RewriteRule   ^accueil.html?lang=(-[a-z]*)$   default.php?page=home&lang=$1 [L]
Ne peut pas fonctionner tel quelle car le rewriterule ne gère pas(par defaut) les parmettre d'une URL.
Il y a une solution avec un RewriteCond sur le forum.
Et vire le premier tiret de la parentèse. Il ne sert à rien si ce n'est à fautre le bordel :D
Code:
RewriteRule   ^contact.html$   default.php?page=contact&do=form&lang=$1 [L]
le $1 ne fait reférence à rien. Donc "lang" n'aurra jamais de valeur.
autre question : si je tape l'adresse complète du type default.php?page=home&lang=fr cette adresse est conservée dans la barre d'url... n'y a-t-il pas possibilité que meme en tapant l'adresse complète, le visiteur est directement rediriger vers l'url rewritée ???
Ca doit être possible de le faire par .htaccess mais moi je préfère géré ce cas via mon script PHP.
Regarde sur le forum, le theme est souvant abordé.
 
Nouveau WRInaute
merci pour tes réponses, je scruterai donc plus en profondeur le forum pour trouver les solutions à mes problèmes ;)
 
Nouveau WRInaute
au fait... je viens de comprendre un truc (ou peut etre que j'ai pas compris plutot... enfin... bref...)

pour ma page home

il faut que je definisse une redirection par cas ?

c'est à dire pour mon accueil en français
Code:
RewriteRule   ^accueil.html$   default.php?page=home&lang=fr [L]

et en anglais
Code:
RewriteRule   ^home.html$   default.php?page=home&lang=eng [L]

????
 

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