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 rewirting config apache ou incompatible avec windows ?


Sujet :

Apache

  1. #1
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut URL rewirting config apache ou incompatible avec windows ?
    Bonjour tout le monde.

    J’ai découvert un truc sympa écrit par un ancien développeur de ma boite.
    Ça ressemble à de l'URL Rewirting (mais je doit avoué que je ne sais pas exactement ce qu'est l'URL rewirting)

    Voila le code en question
    [Code en php]

    Fichier 'reunion'
    /!\ attention pas d'extension !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    /*
     *	exemple d'URL 
     *	http://www.monsite.com/reunion/108.htm
     */
     
    //pour l'exemple :
    $REQUEST_URI = "www.monsite.com/reunion/108.htm"; /* !! Sans le http:// !!  */
     
    $rep = explode("/", $REQUEST_URI);
    $ID = str_replace(".htm", "", $rep[2]);
     
    /*
     *	$ID = 108
     */
     
    $_GET['ID'] = $ID;
    include ('reunion.php');
     
    /*
     *	Cela équivaut à appeler : http://www.monsite.com/reunion.php?ID=108
     */
    ?>
    a coté de ça il y a un fichier réunion.php qui utilise $_GET[ID]


    Je pense que les commentaires sont claires :
    On appel http://www.monsite.com/reunion/108.htm
    A la place de: http://www.monsite.com/reunion.php?ID=108
    Ce qui est quand même plus 'sexy' ^^


    Mais voila !!
    Ça marche très bien sur le serveur de prod sous linux mais chez moi en local sous Windows j'ai :
    The requested URL /monsite/reunion/114.htm was not found on this server.


    D'après mon Admin. il y a peut être deux raisons.
    1) Windows ne gère pas les fichiers et les dossiers de la même façon donc mon fichier 'reunion' ne peut pas se camoufler en dossier.
    2) C'est une config de Apache ou de Php qu'il ne connaît pas.


    Voila. J'aimerais avoir vos opinions, remarques ou idées lumineuse ^^
    Merci bien
    Orthographe => Message Privé constructif svp

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour



    Moi aussi ce procédé me branche bien !!!!!!!!!! Mais j'ai le même problème que notre ami Azrael !!!!!

    Aidez nous, please !

  3. #3
    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
    'lut,

    Faut pas s'énerver comme ça, le forum Apache n'est malheureusement pas très fréquenté, donc les réponses ne sont pas aussi rapides que sur les forums Java ou PHP.

    A vu de nez, il manque une config dans httpd.conf pour rediriger toutes les requêtes /reunion/<numéro>.htm vers reunion.php. Faut qu'il y ait un truc de ce style dedans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RewriteRule ^/reunion/.*$ /reunion.php
    Ca, ça dit à Apache que lorsqu'il reçoit une URL du style /reunion/..., il faut qu'il considère qu'on appelle /reunion.php. Après, le reste est pris en charge par reunion.php.

    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

  4. #4
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut
    Erreur dans le fichier de configuration d'Apache

    ""Syntax error on ligne 165 of .....httpd.conf:
    Invalid command 'RewriteEngine', perhaps mis-spelled or defined or defined by a module not include in the server configuration""
    de plus il me semble bien qu'avec ça le fichier 'reunion' n'est pas exécuté.
    Orthographe => Message Privé constructif svp

  5. #5
    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
    Erreur dans le fichier de cobfiguratino d'Apache

    ""Syntax error on ligne 165 of .....httpd.conf:
    Invalid command 'RewirteEngine', perhaps mis-spelled or defined or defined by a module not include in the server configuration""
    T'as écrit ça avec tes doigts ou c'est un copier-coller ? Parce qu'effectivement, RewirteEngine, ça parle pas à Apache. C'est RewriteEngine.

    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

  6. #6
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut
    ^^ c'est mes ptit doit ^^ sous windob le copier coller en est à ses balle de ciment :p



    alors pour faire marcher ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RewriteRule ^/reunion/.*$ /reunion.php
    il faut décommenter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LoadModule rewrite_module modules/mod_rewrite.so
    AddModule mod_rewrite.c

    je regarde maintenant si le comportement et le même que celui attendu mais j'en doute.
    Orthographe => Message Privé constructif svp

  7. #7
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut Test de la solution de _MAC_
    Voila le code source pour ce test :

    fichier urlrewirting
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $rep = explode("/", $REQUEST_URI);
    $ID = str_replace(".htm", "", $rep[2]);
    $_GET['ID'] = $ID;
    include ('urlrewirting.php');
    ?>
    fichier urlrewirting.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    je suis le fichier : urlrewirting.php et l'id et : 
    <?php
    echo $_GET['ID'];
    ?>


    http://localhost/__perso/urlrewirting/15.html
    =>
    Not Found
    The requested URL /__perso/urlrewirting/15.html was not found on this server.

    http://localhost/__perso/urlrewirting/
    =>
    Not Found
    The requested URL /__perso/urlrewirting/15.html was not found on this server.

    http://localhost/__perso/urlrewirting
    => Affiche le code source

    ____________________________________________
    c'est pas le comportement au quel je m'attendait ....

    je m'attendais à voir :
    je suis le fichier : urlrewirting.php et l'id et :
    sans l'affichage de l'id.

    /!\ le comportement que je cherche à optenir est encore différent !!!!

    En tout cas merci de ton aide _MAC_
    Orthographe => Message Privé constructif svp

  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
    Citation Envoyé par SoF_AzraeL
    http://localhost/__perso/urlrewirting
    => Affiche le code source
    Ca, c'est normal : vu que ton fichier n'a pas d'extension .php, Apache ne sait pas quoi en faire, alors il le renvoie tel quel sans interprétation.

    Pour la suite, peut-être à la semaine prochaine

    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 habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut
    Alors il faut peut être demander à Apache d'exécuter les fichiers sans extension.
    et s'il n'y arrive pas de les traiter comme des dossiers.
    Orthographe => Message Privé constructif svp

  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
    Rajoute la règle suivante pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{REQUEST_URI} ^.*/urlrewirting
    RewriteCond %{REQUEST_URI} ! ^.*/urlrewirting.php
    RewriteRule ^(.*)/urlrewirting(.*)$ /$1/urlrewirting.php$2
    En gros, c'est pour dire que l'URL .../urlrewirting... sans .php doit être considérée comme ayant l'extension .php. J'ai pas testé, je sais pas si ça marche.

    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. Pb config clé usb Wifi avec windows XP
    Par Marsupio dans le forum Windows XP
    Réponses: 5
    Dernier message: 22/06/2013, 22h21
  2. Attention : Maj Windows KB951748 incompatible avec ZoneAlarm
    Par 12monkeys dans le forum Sécurité
    Réponses: 26
    Dernier message: 29/07/2008, 06h55
  3. config apache, php avec les register_globals
    Par fodger dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2006, 09h25
  4. Réponses: 1
    Dernier message: 17/09/2006, 16h31
  5. [TomcaT]Config une appli J2EE avec tomcat/apache sous linux
    Par kameha dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 31/03/2006, 15h05

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