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 :

[.htaccess] URL non ré-écrite


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut [.htaccess] URL non ré-écrite
    Bonjour,

    J'ai rédigé un .htaccess que j'ai placé dans le dossier de mon site /var/www/premix/
    dans ce dossier j'ai encore des sous-dossier correspondant a mes codes sources.
    dans le .htaccess je lui ai écrit ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <Directory>
    #Options Indexes Includes FollowSymlinks MultiViews
    # permettre tout, principalement pour .htaccess
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    Options +FollowSymlinks
    RewriteEngine on
    #RewriteRule ^donnees-client\.html$ FRONTCONTROLER/FrontControler.php [L]
    RewriteRule  ^([a-zA-Z]+)/([0-9]+)/([0-9]+)/([0-9]+)\.html$ FrontControler.php?page=$1&idclient=$2&idprojet=$3&idfinancement=$4 [L]
    #RewriteLog /var/log/logrewrite/rewrite.log
    #RewriteLogLevel 3
    Si j'ai bien compris comment marche le .htaccess, dès qu'il va rencontrer l'url suivante :
    /FrontControler.php?page=pdf&idclient=12&idprojet=11&idfinancement=14
    il devrait me ré-écrire l'url comme suit : /pdf/12/11/14.html

    mais biensur cela ne fonctionne pas

    merci du coup de pouce

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Attention, la réécriture fonctionne dans l'autre sens : ton navigateur demande /pdf/12/11/14.html à Apache et Apache finalement l'interprète comme étant /FrontControler.php?page=pdf&idclient=12&idprojet=11&idfinancement=14.

    mais bref, comme ton .htaccess n'est pas à la racine du document root, il faut ajouter le répertoire où se trouve ce .htaccess pour que ça marche : http://.../premix/pdf/12/11/14.html. Il faut donc tester avec cette URL.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    Comment Apache peux-t-il interpréter ce que je lui demande ?
    Je développe en POO avec un pattern MVC
    Toutes mes urls d'action sont comme ça
    <form method= "POST/GET" action="../FRONTCONTROLER/FrontControler.php">

    Tu pourrais être plus clair s'il te plait

    Merci

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    L'URL rewriting c'est pour changer la façon dont Apache doit comprendre ce qu'on lui demande, pas le code HTML renvoyé au navigateur. Si tu veux que le code HTML de ton formulaire contienne un lien <a href="/pdf/12/11/14.html">, il faut que tu écrives cette URL dans le code, ce n'est pas Apache qui ira modifier quoi que ce soit dans ce que tu renvoies au navigateur.

    Pour revenir à ton formulaire, ce que tu demandes n'est pas possible : par principe, un formulaire en GET générera une URL en ....?page=pdf&idclient=12&idprojet=11&idfinancement=14. Un formulaire en GET ne pourra jamais générer une URL /pdf/12/11/14.html. Donc soit tu continues à utiliser un formulaire et à garder l'URL avec le ? suivi des paramètres, soit tu remplaces ton formulaire par un lien ou un bout de code JavaScript qui va demander l'URL /pdf/12/11/14.html à la place.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    j'ai le lien suivant sur une image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo"
    <a href=../FRONTCONTROLER/FrontControler.php?page=pdf&idclient=".$idclient."&idprojet=".$IdProjet."&idfinancement=".$IdFinancement." target ='_blank'>";
    echo "<img src=../HTML/images/pdf.gif width=50 border=0/></a></div></td>";
    Si je suis le .htaccess et ce que tu me dit
    je dois écrire à la place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo "<a href=/pdf/".$idclient."/".$IdProjet."/".$Idfinancment.".html target ='_blank'>";
    echo "<img src=../HTML/images/pdf.gif width=50 border=0/></a></div></td>
    avec le .htaccess suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule  ^([a-zA-Z]+)/([0-9]+)/([0-9]+)/([0-9]+)\.html$ FrontControler.php?page=$1&idclient=$2&idprojet=$3&idfinancement=$4 [L]

  6. #6
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Oui, tout à fait, avec le .htaccess se trouvant à la racine du site.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    Il me fait une erreur 404

  8. #8
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    3 questions :
    • Dans quel répertoire se trouve ton .htaccess ?
    • Qu'y a-t-il dans ce .htaccess ?
    • Quelle URL utilises-tu pour tester ?

    C'est pour essayer de reproduire ta conf de mon côté et voir ce qu'il se passe.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    pas de soucis _MAC_

    Mon .htaccess se trouve dans mon dossier var/www/premix/

    Voici le code source de celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule  ^([a-zA-Z]+)/([0-9]+)/([0-9]+)/([0-9]+)\.html$ ../FRONTCONTROLER/FrontControler.php?page=$1&idclient=$2&idprojet=$3&idfinancement=$4 [L]
    et je l'appelle comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo"<a href=../pdf/".$idclient."/".$IdProjet."/".$IdFinancement.".html target ='_blank'>";
    echo "<img src=../HTML/images/pdf.gif width=50 border=0/></a></div></td>";

  10. #10
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est quelle URL qui s'affiche dans le navigateur ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    l'url correcte c'est http://.../premix/pdf/12/14/13.html

    sachant 12,14,13 sont issus de la BDD

  12. #12
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Evidemment, ça marche très bien chez moi...

    Quand tu colles l'URL http://.../premix/pdf/12/14/13.html directement dans ton navigateur, sans passer par les liens dans tes pages, tu as le même problème ? Si oui, il se peut que le problème vienne d'un conflit avec d'autres .htaccess. S'il y a des .htaccess à la racine du site ou dans le répertoire FRONTCONTROLER, peux-tu nous les donner ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    quand je colle mon url directement ca ne fonctionne pas erreur 404, je n'ai pas d'autre .htaccess sur le serveur.
    Serait-ce du au fait que je fais une génération d'un pdf à partir de fpdf tout en php ?

    Mon arborescence du site est comme ca :

    /var/www/premix
    /var/www/premix/FRONTCONTROLER/
    /var/www/premix/PAGECONTROLER/
    /var/www/premix/VUE/
    /var/www/premix/MODELS/
    /var/www/premix/PDF/

  14. #14
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Ah, y a un répertoire PDF dans premix. C'est sûrement ça le problème. Ajoute un -MultiViews dans les options du .htaccess de premix :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks -MultiViews
    RewriteEngine on
    RewriteRule  ^([a-zA-Z]+)/([0-9]+)/([0-9]+)/([0-9]+)\.html$ ../FRONTCONTROLER/FrontControler.php?page=$1&idclient=$2&idprojet=$3&idfinancement=$4 [L]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    toujours pas.
    Mon .htaccess se trouve dans var/www/premix

  16. #16
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Y a un .htaccess à la racine du site ? Si oui, que contient-il ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    il n'y a pas d'htaccess à la racine

  18. #18
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Quelle est l'URL de la page qui contient le lien qui ne marche pas ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. [URL Rewriting] URL non interprétées
    Par Mister Nono dans le forum Apache
    Réponses: 1
    Dernier message: 09/08/2007, 18h27
  2. [HTACCESS] Paramètres non pris en compte
    Par alexfrere dans le forum Apache
    Réponses: 1
    Dernier message: 30/01/2007, 21h17
  3. Redirection URL Non visible dans la barre d'adresse
    Par domileg dans le forum Langage
    Réponses: 5
    Dernier message: 04/08/2006, 09h02
  4. [HTAccess] URL rewriting
    Par actarus44 dans le forum Apache
    Réponses: 4
    Dernier message: 13/07/2005, 11h41
  5. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 20h18

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