Rewriter une URL avec un passage de variable

Discussion dans 'URL Rewriting et .htaccess' créé par FrenchKiss, 1 Janvier 2005.

  1. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Hello à tous (et bonne année, tiens)...

    Je suis en train d'essayer de faire en sorte que
    Code:
    lexique.php?mot=blah
    soit accessible lorsque l'on tape
    Code:
    lexique/mot
    Pour l'instant, tout ce que j'ai réussi à sortir de mon pauvre petit cerveau malade et embrouillé est
    Code:
    RewriteRule ^lexique\/([a-z]+)$  lexique.php?word=$1  [L]
    mais, vous vous en doutez bien, ça ne marche pas :/

    Etant donné que malgré toute ma bonne volonté, je suis (et resterai probablement) une brêle en ce qui concerne les regexp, et l'url rewriting par extension (bien que je continue à oeuvre dans ce sens)... est-ce que quelqu'un pourrait me dépanner ?

    ça serait... franchement cool :)

    Par ailleurs, n'aurai-je pas des modifications à faire dans le fichier robots.txt (je veux dire, une fois que j'aurai réussi // ou que qqun m'aura aidé !) ...

    Merci d'avance à qui voudra bien me répondre...
     
  2. Pulsar-san
    Pulsar-san WRInaute discret
    Inscrit:
    29 Octobre 2003
    Messages:
    163
    J'aime reçus:
    0
    Pourquoi tu fais
    lexique.php?word=$1 [L]
    si à l'origine tu as
    lexique.php?mot=blah

    Fais donc lexique.php?mot=$1 [L]
     
  3. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Tout simplement parce qu'en vrai, ma variable s'appelle word : mon exemple ne collait donc pas avec ma ligne de code, mea culpa.

    Quoiqu'il en soit, le pb ne vient pas de la... Merci quand mm :)
    Je reformule, donc.

     
  4. pipologue
    pipologue WRInaute occasionnel
    Inscrit:
    27 Mai 2004
    Messages:
    477
    J'aime reçus:
    0
    Tu travailles avec quels logiciels ou chez quel hébergeur ? Pour OVH :

    RewriteRule ^lexique\/([a-z]+)$ /lexique.php?word=$1 [L]
     
  5. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Je suis chez phpnet - en php4, mysql etc... Classique, donc... et je code (ou plutot, j'essaie !) avec DW... mais je crois pas que ça change grand chose :)

    Je vais essayer la ligne que tu me proposes, je te tiens au courant :)
    -> verdict : marche pas :(
    Merci quand même...
     
  6. Pulsar-san
    Pulsar-san WRInaute discret
    Inscrit:
    29 Octobre 2003
    Messages:
    163
    J'aime reçus:
    0
    Heu... Question de base, mais as-tu mis
    Code:
    RewriteEngine On
    pour activer l'UR ?
     
  7. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Oui :/
    Voici le contenu du htaccess :
    Code:
    ErrorDocument  404  /404.htm
    Options +followsymlinks
    RewriteEngine On
    RewriteRule ^lexique\/([a-z]+)$ lexique.php?word=$1 [L]
    Je m'aperçois que le lien
    -http://www.myserver.com/lexique?word=blah
    fonctionne impec...
    -> ?! Est-ce du fait de ma règle de réécriture ?? Ou bien est-ce typique que les pages puissent être appelées sans leur extension ?

    Enfin bref, ça m'avance pas pour autant :(
     
  8. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Ne fonctionne pas non plus avec
    Code:
    RewriteRule ^lexique/(.*)$ lexique.php?word=$1 [L]
    Alors, je suis le seul au monde à vouloir passer mes variables sous la forme de sous répertoires ?? :cry:
     
  9. Pulsar-san
    Pulsar-san WRInaute discret
    Inscrit:
    29 Octobre 2003
    Messages:
    163
    J'aime reçus:
    0
    Quand tu fais
    -http://www.myserver.com/lexique.php?word=blah
    avec
    Code:
    ErrorDocument  404  /404.htm 
    Options +followsymlinks 
    RewriteEngine On 
    RewriteRule ^lexique\/([a-z]+)$ lexique.php?word=$1 [L]
    ça t'affiche quoi ?
     
  10. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Alors...
    Ca m'affiche une page sur laquelle tous mes CSS ont sautés (elle s'affiche donc avec le CSS par défaut), et surtout
    sans récupération de la valeur de la variable word.

    J'ai donc pensé que ça venait de l'absence d'extension.
    Erreur, ça ne fonctionne quand mm pas si je rajoute l'extension genre
    RewriteRule ^lexique\/([a-z]+).php$ lexique.php?word=$1 [L]

    En fait, j'ai réussi à déterminer que c'est le / qui pose problème.
    A l'heure actuelle (j'ai un peu avancé), mon .htaccess ressemble à
    Code:
    ErrorDocument  404  /404.htm
    Options +followsymlinks
    RewriteEngine On
    RewriteRule ^lexique-(.*)$ lexique.php?word=$1
    Là ça fonctionne.
    Vous remarquerez le tiret.
    Avec un tiret : ça marche impec.
    Avec un slash : ça foire.

    J'ai essayé en l'échappant, en le faisant précéder d'un "\" : ça foire quand mm.

    Je crois donc que le pb se situe à ce niveau, aussi si vous avez des idées, je suis preneur ("fait avec un tiret" n'est pas une bonne idée :p) ...

    ++
     
  11. Pulsar-san
    Pulsar-san WRInaute discret
    Inscrit:
    29 Octobre 2003
    Messages:
    163
    J'aime reçus:
    0
    Zut ! Je me suis planté dans ma question :roll:
    Je voulais demander quand tu fais:
    -http://www.myserver.com/lexique/blah
    Mais je pense qu'il faudrait désactiver ta page 404 personnalisée pour avoir le détail de l'erreur.
    Je pense à une chose, essaye comme ça:

    RewriteRule ^lexique\\/([a-z]+)$ lexique.php?word=$1 [L]

    Avec 2 "\" devant le "/".
     
  12. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Hey :)
    J'ai répondu en anticipant ta correction : ma réponse reste valable donc :)

    J'ai également essayé avec 2 \ d'échappement devant le / ... Marche pas non plus, c'est à s'arracher les cheveux...
    En revanche, si je tape l'adresse
    lexique\/blah

    Je me retrouve avec ma page pourrie (sans les CSS) MAIS qui affiche la variable (c'est déjà un début).
    Par contre, l'url dans la barre d'url est pourrie elle aussi :
    /lexique%5C/blah
    c'est pas très esthétique ... :(
     
  13. Pulsar-san
    Pulsar-san WRInaute discret
    Inscrit:
    29 Octobre 2003
    Messages:
    163
    J'aime reçus:
    0
    Tu peux me donner un lien qui te sert de test ?
    Parce que là je n'y comprend plus rien :?
    Il y a quelque chose qui nous échappe mais qui doit être évident :roll:
    Au fait, tu ne naviguerais pas avec Firefox par hasard ?
     
  14. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Si je navigue avec Firefox :)
    pkoi ? ça se voit à quoi ?

    pour le lien, c'est
    -http://frenchkiss.phpnet.org/lexique.php?word=blah

    ... pour l'instant, le .htaccess est paramètré de façon à ce que
    -http://frenchkiss.phpnet.org/lexique-blah.html
    fonctionne...

    merci pour ton aide :)
     
  15. Pulsar-san
    Pulsar-san WRInaute discret
    Inscrit:
    29 Octobre 2003
    Messages:
    163
    J'aime reçus:
    0
    Ce qui me fait dire ça, c'est que j'ai remarqué que Firefox transforme en %xx ce qui ne lui parait pas standard.
    J'ai eu le même problème avec des caractères accentués dans des noms de fichiers que mes membres upload (des images).

    C'est peut-être mieux comme ça.
    Tu as testé si ça marche avec un mot composé ?
    Je veux dire avec un "-" au milieu.
     
  16. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Ca marche impec avec un mot composé : le pb survient dès qu'un slash se balade dans la règle de réécriture...

    J'abandonne donc l'idée du slash (pour l'instant) parce que j'ai vu sur plein de sites que c'était faisable : la méthode doit être différente, simplement...

    Merci pour ton aide, en tt cas, et bonne continuation...
     
  17. FrenchKiss
    FrenchKiss WRInaute discret
    Inscrit:
    6 Octobre 2004
    Messages:
    171
    J'aime reçus:
    0
    Après avoir contacté mon hébergeur, il semblerait que le pb vienne d'un "petit cafouillage" dans la configuration de Apache - j'attends donc qu'ils règlent ça...

    Merci à tous pour votre aide, et la formation express à l'UR que j'ai pu me faire grace à vous :)
     
Chargement...
Similar Threads - Rewriter passage variable Forum Date
rewriteRule sur wamp erreur 404 URL Rewriting et .htaccess 20 Avril 2019
Déplacer les RewriteRule du .htaccess vers le vhost URL Rewriting et .htaccess 16 Janvier 2018
RewriteRule avec redirection transparente URL Rewriting et .htaccess 21 Janvier 2017
Pages profondes non redirigées (.htaccess RewriteRule) Débuter en référencement 5 Décembre 2016
RewriteRule : afficher un $_GET dans une URL réecrite Développement d'un site Web ou d'une appli mobile 12 Novembre 2016
Htaccess et RewriteRule | problème URL Rewriting et .htaccess 25 Septembre 2014
RewriteRule repetition mot URL Rewriting et .htaccess 6 Juillet 2014
URL rewriting : un RewriteRule sans effet dans le htaccess URL Rewriting et .htaccess 19 Juin 2014
RewriteRule avec variable get URL Rewriting et .htaccess 22 Avril 2014
Multiples htaccess et RewriteRule avec fichier centralisé à la racine URL Rewriting et .htaccess 19 Avril 2014
RedirectPermanent ou RewriteRule ? URL Rewriting et .htaccess 14 Mars 2014
Rewriterule et caractère point dans variable URL Rewriting et .htaccess 17 Mai 2013
Rewriter l'index URL Rewriting et .htaccess 3 Avril 2013
Rewriterule pas pris en compte URL Rewriting et .htaccess 1 Avril 2013
double repertoire avec rewriterule URL Rewriting et .htaccess 20 Février 2013
RewriteRule RedirectPermanent conflit Netlinking, backlinks, liens et redirections 25 Janvier 2013
Syntaxe RewriteRule .htaccess URL Rewriting et .htaccess 25 Septembre 2012
Syntaxe RewriteRule .htaccess Débuter en référencement 24 Septembre 2012
Un .htaccess pour plusieurs sites : imbriquer plusieurs RewriteRule dans un seul RewriteCo Netlinking, backlinks, liens et redirections 2 Juillet 2012
erreur dans le RewriteRule URL Rewriting et .htaccess 11 Mai 2012