IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

url rewriting


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Par défaut url rewriting
    Salut, j'apprends en autodidacte et c'est pas toujours évident, merci d'avance de votre aide !

    J'ai un site en PHP MySQL

    J'ai des pages avec par exemple monsite.com/faq.php?id=12
    (faq = foire aux questions)

    Je veux utiliser l'url rewriting.

    J'ai inséré le code suivant dans mon fichier .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine On 
    RewriteRule    ^faq-([0-9]+)\.html$   /faq.php?id=$1 [L]
    Jusque là tout va bien.
    SAUF QUE

    j'obtiens /faq-12.html à la place de /faq.php?id=12 .

    L'idée était que je voulais faire remonter le titre de mon sujet dans mon url.
    (monsite.com/le-titre-de-mon-article-12.html

    Le titre étant disponible dans la base de données ou dans le contenu de la page faq.php

    1 - Comment procéder ?

    2 - Les liens dans les pages de mon site dirigent vers /faq.php?id=12 comment faire pour qu'ils dirigent automatiquement vers les url réécrites ? (/faq-12.html) ?

    merci d'avance !

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par WPH2009 Voir le message
    Le titre étant disponible dans la base de données ou dans le contenu de la page faq.php
    Comment on sait où c'est ?

    Citation Envoyé par WPH2009 Voir le message
    1 - Comment procéder ?
    Apache ne saura pas se connecter à une base de données ou parser un fichier pour récupérer la bonne information. Ce qu'il faut faire, c'est rediriger la requête le-titre-de-mon-article-12.html sur un fichier PHP qui lui saura se connecter à la base de données ou afficher la FAQ s'il le faut.

    Citation Envoyé par WPH2009 Voir le message
    2 - Les liens dans les pages de mon site dirigent vers /faq.php?id=12 comment faire pour qu'ils dirigent automatiquement vers les url réécrites ? (/faq-12.html) ?
    Editer les fichiers avec ton éditeur de texte préféré et changer faq.php?id=12 par faq-12.html !! Pas d'autre solution, Apache n'ira jamais modifier le contenu du HTML qu'on lui demande de renvoyer au navigateur. La réécriture d'URL sert seulement à modifier le sens de ce que le navigateur lui demande, pas de ce qu'il renvoie.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Par défaut
    Apache ne saura pas se connecter à une base de données ou parser un fichier pour récupérer la bonne information. Ce qu'il faut faire, c'est rediriger la requête le-titre-de-mon-article-12.html sur un fichier PHP qui lui saura se connecter à la base de données ou afficher la FAQ s'il le faut.
    Ok, si je comprends bien , je n'ai rien d'autres a ajouter dans mon fichier .htaccess !

    Je dois trouver un script à ajouter dans ma page faq.php.
    Ce script doit donc
    - récupérer le titre de mon article
    - le rendre propre (supprimer les accents et mettre des tirets entre chaque mot)
    - construire l'url : le-titre-de-mon-article-12.html par exemple
    -

    Suis-je sur la voie de la compréhension ?

    Donc j'ai une piste avec ce tuto
    http://www.urlrewriting.fr/comment-a...os-urls_1.html

    Dois-je mettre le code proposé dans la section 1 dans ma page faq.php ?

    Mes questions peuvent paraitre idiote mais j'ai franchement l'impression d'être en train de familiariser avec le chinois !

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    C'est plutôt l'inverse : comme je l'ai dit, Apache ne va pas aller modifier les liens de la page. Il faut donc partir du principe que le code HTML affiché dans le navigateur est le code renvoyé par le script PHP et qu'il contient le vrai bon lien le-titre-de-mon-article-12.html et qu'on clique dessus. La question est alors de savoir ce qu'Apache doit faire de la requête sur "/le-titre-de-mon-article-12.html" : là (point 3 du tuto), on dit à Apache que toutes les URL d'un certain format (dans le tuto, le format est "fichier-deslettres-1234.html") sont renvoyées sur un certain fichier PHP. C'est ce fichier PHP qui fait ensuite le boulot de décoder le paramètre qu'Apache lui passe (les chiffres dans le tuto) ou la vraie URL demandée "/le-titre-de-mon-article-12.html" pour aller chercher le bon truc à afficher.

Discussions similaires

  1. [Débutant]infos ds session sans cookie ? url rewriting ?
    Par Satanas_et_diabolo dans le forum ASP
    Réponses: 8
    Dernier message: 10/10/2006, 17h13
  2. url rewriting
    Par olive.m dans le forum Apache
    Réponses: 3
    Dernier message: 17/06/2005, 02h01
  3. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 20h18
  4. Activer l'url rewriting
    Par Otaugames dans le forum Apache
    Réponses: 2
    Dernier message: 09/03/2005, 14h58
  5. Url Rewriting / htaccess
    Par bisi dans le forum Apache
    Réponses: 4
    Dernier message: 25/07/2004, 22h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo