Hello à tous Je cherche à trouver une règle de réécriture qui pourrait rediriger .com/lexique/mot vers la page .com/lexique.php?word=mot ... Des idées ? Là je patauge un peu, et j'ai peur de créer des failles de sécurité. Pour l'instant j'ai fait ça Code: RewriteRule ^lexique.php/([a-z]*)* lexique.php?word=$1 Mais ça foire complet, ça me fait complètement sauter mes styles CSS ...
Je suis pas sûr, mais peut être que tes fichiers de styles il va les chercher maintenant dans le répertoire .com/lexique/ alors qu'ils sont à la racine. Soit tu vas les chercher à la racine avec ../ soit tu fais une redirection pour tes feuilles de styles.
C'est bon, nickel, j'ai mes CSS qui sont de retour... Merci beaucoup Maintenant, seul (GROS) problème, la variable transmise... comment la récupérer ? En effet, $_GET['word']) ne me ramène plus rien ... forcémment. Donc du coup, je me retrouve avec une page "vide", comment faire pour récupérer cette fameuse variable word, dont la valeur est maintenant lexique/mot Des idées ?
Il faudrait enlever le .php dans ta règle, ça marchera peut être Code: RewriteRule ^lexique/([a-z]*)* lexique.php?word=$1
Yes, j'avais déjà pris l'initiative de corriger ce petit détail, merci :wink: Ceci dit, je n'arrive tjs pas à récupérer la variable... Personne pour m'éclairer ?
Essaie d'enlever le * ? (en plus il faut que ta variable soit uniquement composé de lettres minuscules avec cette règle) Code: RewriteRule ^lexique/([a-z]*) lexique.php?word=$1
Ok j'ai essayé, mais ma variable n'est toujours pas reconnue par le script de ma page :/ En revanche, j'ai un doute sur ma règle : que devraisje faire pour pouvoir permettre AUSSI les chiffres dans cette fichue variable ?
c'est étonnant car chez moi cela fonctionne sans problème. fait un peu if (isset($HTTP_GET_VARS['word']){ echo "undeuxtrois"; }
Code: if (isset($HTTP_GET_VARS['word'])){echo "undeuxtrois";} else {echo "ben non";} m'affiche "ben non" Je précise que la version php est la 4.3.10 ... phpinfo Je rappelle ma règle de réécriture : Code: RewriteEngine On RewriteRule ^lexique/([a-z]*) lexique.php?word=$1
je ne sais plus quoi te dire à part de peut etre changer ton .htaccess RewriteRule ^lexique/([a-zA-Z]*)$ /lexique.php?word=$1 ce qui est bizare c'est que -http://www.frenchtouchseduction.com/lexique/lexique/lexique/lexique/lexique.php?word=beginner cela fonctionne sans problème
Effectivement c'est pour le moins étrange :/ en revanche, si j'essaie .com/lexique/beginner, je retombe sur la liste des entrées du lexique, signe que la variable word, normalement =beginner, est vide ... (même avec la règle que tu me proposes, que j'ai utilisée pour mon .htaccess) ... J'y comprends rien :/
J'ai trouvé Code: RewriteRule ([[:alpha:]]+)/$ /lexique.php?word=$1 Fonctionne au poil... Excepté qu'il faudrait que ça prenne aussi les mots avec un espace, ou un tiret, voir un chiffre dedans ... Pour l'instant, alpha passe bien... Mais je voudrais qu'il prenne aussi en compte des mots tels que "body language", "one-itis", "HB5" ou "rAFC*" Qqun peut me suggérer une règle qui convienne ? J'ai cherché je comprends rien :/