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 :

Déclaration du fichier htaccess pour un dossier situé à la racine


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Déclaration du fichier htaccess pour un dossier situé à la racine
    Bonjour tout le monde,

    Je voudrais faire de l'url rewriting dans un dossier (information) de mon site placé à la racine. Pour cela j'ai créer un fichier .htaccess placé dans ce dossier qui est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #Developpement URL-Rewritting en local
     
    #Le serveur doit suivre les liens symboliques
    Options +FollowSymlinks
     
    #Activation du module de réécriture
    RewriteEngine on
     
    #Règles de réécriture
     
    #Pages information/information.php?choix_information=texte
    RewriteRule ^information-sur-myopie\.php$ http://localhost/Afrique/information/information.php?choix_information=myopie [L]
    Dans ce dossier il y a des pages dont le nom est sur le modèle suivant information-sur-.....php

    Il y a aussi une page information.php qui permet grâce à un formulaire d'appeler la bonne page et de l'afficher grâce à un include.
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <form name="formulaire" method="get" action="/Afrique/information/information.php">
             <select name="choix_information" id="choix_information">
             <optgroup label="Les troubles visuels">
             <option value="myopie">La myopie</option>
             <option value="presbytie">La presbytie</option>
             <option value="hypermetropie">L'hypermetropie</option>
             <option value="astigmatisme">L'astigmatisme</option>
             </optgroup>
             <optgroup label="Les maladies">
             <option value="glaucome">Le glaucome</option>
             <option value="cataracte">La cataracte</option>
             </optgroup>
             </select>
             <input type="submit" value="Afficher"/>
             </form>
             <?php
    if(isset($_GET['choix_information']))
    {
     
    switch($_GET['choix_information'])
    {
    	case "myopie" : echo "<br><br>"; 
    					   include("information-sur-myopie.php");
    					   exit();
    	case "presbytie" : echo "<br><br>"; 
    						  include("information-sur-presbytie.php"); 
    						  exit();					  
    	case "hypermetropie" : echo "<br><br>"; 
    							 include("information-sur-hypermetropie.php"); 
    							 exit();							
    	case "astigmatisme": echo "<br><br>";
    						 include("information-sur-astigmatie.php");
    						 exit();						 
    	case "glaucome" : echo "<br><br>";
    						 include("information-sur-glaucome.php");
    						 exit();						 
    	case "cataracte" : echo "<br><br>";
    						  include("information-sur-cataracte.php");
    						  exit();
     
    }
    }
    ?>
    </div>
            		       </body>
           </html>
    En appelant la page myopie mon adresse est donc http://localhost/Afrique/information...rmation=myopie et je voudrais la transformer en http://localhost/Afrique/information...sur-myopie.php.
    Le problème c'est que ça ne marche pas et je ne comprend pas pourquoi étant donnée que j'ai fait de l'url rewriting sur ce site mais à la racine. Dois je coder mon fichier .htaccess de manière différente? Ou alors est ce un problème avec l'instruction include? Je suis un peu perdu à vrai dire.
    Je vous remercie de votre aide.

  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
    Quand tu dis que ça ne marche pas, il se passe quoi exactement ? Erreur 404 ? Erreur 500 ?

    As-tu essayé en supprimant (temporairement) le fichier .htaccess qui se trouve à 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

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Et bien en fait mon url n'est pas réécrite, je me retrouve avec mon adresse en .php?choix_information=myopie. Je viens de supprimer mon fichier htaccess mais il n'y a aucun changement. Sinon il n'y a pas d'erreur qui s'affiche ma page est bien chargée, c'est juste mon adresse qui reste la même

  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
    C'est normal, voir mes deux premières réponses de cette discussion. Apache n'ira pas modifier le code HTML ou la façon dont les formulaires fonctionnent, malheureusement.

    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 à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Oui j'ai bien compris que apache ne modifie pas mon code. Mais je pense que quelque chose m'échappe encore. Dans mon code HTML je fais un include(information-sur-myopie.php). Mon fichier navigateur devrait afficher cette adresse mais apache en envoie une différente non? Celle qui est spécifiée dans les Rewriting Rules? Du moins c'est ce que j'ai compris. Je ne vois pas pourquoi je me retrouve avec des .php?choix_info=......

  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
    Non. Tu demandes en fait à ce qu'Apache modifie du code HTML. Apache ne connaît pas PHP et n'interagit avec lui que pour lui transmettre la requête du navigateur. Les include, etc., tout ça lui échappe, donc pas de réécriture ou quoi que ce soit. Une fois qu'Apache a déterminé le script PHP demandé et qu'il l'a appelé, c'est fini pour lui, il ne fait plus rien que renvoyer au navigateur ce que PHP lui répond.

    Et pour ton URL avec des ?choix_info=... c'est parce que tu postes un formulaire. Relis l'autre discussion.

    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 à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    D'accord! Je viens de comprendre (enfin je crois ). Je vais essayer de mettre tout ça en pratique.

    Merci pour ta réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/09/2011, 18h57
  2. [MySQL] Securiser connexion via fichier .htaccess pour debutant
    Par turf_trader dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/01/2009, 23h01
  3. Réponses: 5
    Dernier message: 20/07/2008, 14h38
  4. Utilisation d'un fichier .htaccess pour maintenance
    Par Olivier Regnier dans le forum Apache
    Réponses: 5
    Dernier message: 13/12/2007, 14h44
  5. Peut-on avoir deux fichier .htaccess pour 2 urlrewriting différents pour 1 même site
    Par JackBeauregard dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 30/09/2006, 09h35

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