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 :

Apache2 et mod_rewrite.c sous windows


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 247
    Points : 99
    Points
    99
    Par défaut Apache2 et mod_rewrite.c sous windows
    Bonjour,

    Je voudrais utiliser l'url rewriting en local avec Apache 2 sous windows.
    Pour ça j'ai bien le fichier .htaccess qu'il faut mais j'ai un pb avec mes modules Apache. Je n'ai pas de module mod_rewrite.c. Donc forcément qd je mets AddModule mod_rewrite.c je n'arrive pas à lancer Apache. Que dois-je faire ? Ou puis-je télécharger ce fichier et ou dois-je le mettre (dans modules/ je suppose ?)

    Merci pour vos réponses

    ps : Par contre j'ai bien mod_rewrite.so et je l'ai chargé (LoadModule) dans mon httpd.conf
    ps2 : Mon fichier httpd.conf ne contient aucun AddModule (meme commenté), bizarre non ?

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut moi aussi j'ai le meme soucis merci a celui qui a la solution.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Points : 59
    Points
    59
    Par défaut
    Bonjour à tous,

    J'ai le même problème.
    Je voulais activer l'url rewriting sur Apache en local.
    J'ai décommenté la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule rewrite_module modules/mod_rewrite.so
    Mais je n'avais pas la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddModule mod_rewrite.c
    J'ai donc ajouté cette dernière à la main dans le httpd.conf mais depuis, le serveur me génère une erreur à chaque démarrage...

    Quelqu'un a t'il une idée sur la façon d'installer l'url rewriting ?
    J'ai cherché un bon moment sur le net et je ne trouve que des explications ou il est stipulé de décommenté ces deux lignes...

    Je précise que je travaille sur Windows 2000
    Apache 2.2.3
    PHP 5.2.0

    Merci pour votre aide, parce que là, je coince !

  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
    Je ferais plutôt un truc du genre LoadModule rewrite_module modules/mod_rewrite.dll : les .so c'est pour Unix. C'est le dll dans le monde Windows. MAis faut aussi vérifier que la librairie (le fichier dll) existe : il peut porter un autre nom. Pour cela, voir ce qu'il se trouve dans le répertoire "modules" d'Apache. Et après, je ne sais jamais s'il faut faire le AddModule ou non. A tester avec et sans.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Je ferais plutôt un truc du genre LoadModule rewrite_module modules/mod_rewrite.dll : les .so c'est pour Unix. C'est le dll dans le monde Windows. MAis faut aussi vérifier que la librairie (le fichier dll) existe : il peut porter un autre nom. Pour cela, voir ce qu'il se trouve dans le répertoire "modules" d'Apache. Et après, je ne sais jamais s'il faut faire le AddModule ou non. A tester avec et sans.
    Merci pour cette info, mais je n'ai aucune dll dans le dossier modules d'Apache... Et dans le httpd.conf, il n'y a qu'une seule référence à une dll
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule php5_module "${path}/php5/php5apache2_2.dll"
    Crois tu vraiment qu'on puisse mettre des dll dans ce dossier modules ? Et si c'est le cas, il faut aussi savoir comment s'appelle le fichier et où le télécharger.

    Pour Windows, toutes les aides que j'ai pu voir disent simplement qu'il faut que ces deux lignes soient présentes dans le httpd.conf et dé-commentées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LoadModule rewrite_module modules/mod_rewrite.so
    AddModule mod_rewrite.c
    http://web.developpez.com/tutoriel/a...lrewriting/#L5

    J'avais bien la première ligne, mais pas la deuxième et quand je l'ajoute, ça foire Apache...

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Points : 59
    Points
    59
    Par défaut Solution trouvée
    Ca y est !
    On arrive toujours à trouver ce qu'on cherche, c'est juste plus ou moins difficile.
    En l'occurrence, ce fut assez difficile cette fois.

    Alors, il faut savoir que depuis la version 2 d'Apache, il n'est pas nécessaire d'ajouter la ligne suivant, car c'est déjà compilé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddModule mod_rewrite.c
    Pour que l'url rewriting fonctionne sur Apache 2 pour Windows, il faut simplement décommenter la ligne suivante (c'est bien un .so, il n'est pas question ici de dll) dans httpd.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule rewrite_module modules/mod_rewrite.so
    Mais ce n'est pas tout !
    A plusieurs endroits dans le httpd.conf, vous avez cette ligne de code :
    Elle est présente pour plusieurs répertoire (c'est ça que je n'avais pas compris). Il faut simplement remplacer None par All. Chez moi j'ai fait deux modifications à ce niveaux (voir corrections en rouge) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Directory />
        Options FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
    </Directory>
    Mais aussi dans :
    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
    <Directory "${path}/www">
        #
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        #
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        #
        # The Options directive is both complicated and important.  Please see
        # http://httpd.apache.org/docs/2.2/mod/core.html#options
        # for more information.
        #
        Options Indexes FollowSymLinks
    
        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride All
    
        #
        # Controls who can get stuff from this server.
        #
        Order allow,deny
        Allow from all
    
    
    </Directory>
    Avec ces paramétrages, l'url rewriting fonctionne comme sur mon hébergement mutualisé, c'est nickel. J'espère vivement que ce post servira à plein d'autres personnes, parce que j'ai mis des heures non stop pour trouver la solution (certains dirons que je ne suis pas doué m'enfin tant pis)

    Edit : Est-il possible de noter cette discussion comme résolue ?

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Bravo!
    Après avoir moi-même cherché un peu sans trop de résultat, je suis content d'avoir enfin pu résoudre ce problème! Je me suis inscrits simplement pour vous remercier, car ça va m'aider grandement dans tous mes projets en cours!

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Salut à tous !!!

    je me suis faite avoir deux fois par ce Override et je propose que cette belle trouvaille (MERCI!!) soit mise dans un tuto ou dans un lien super super super joli pour que les gens puissent retrouver cette reponse très vite.

    Car qu'est-ce qu'on cherche partout dans le web à ce sujet pendant des heures!!!

    merci encore

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    ???

    J'aurais aimé être aussi enthousiaste, vu que cela semble correspondre exactement à mon pb sous Xamp, mais je dois me rendre à l'évidence : j'ai fait ces 2 modifs et ce n'est pas suffisant

    D'autres idées ?

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Salut

    Si, normalement ça marche, mais c'est vrai qu'après ça depend de ton hebergeur.

    t'as essayé avec un tout tout petit exemple?

    comment est ton .htaccess?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Salut,

    En fait je sais pas pourquoi mais ça n'a pas marché avec l'exemple donné dans le tuto ci-dessus : je ne vois pas ce que j'ai merdé, mais depuis j'ai testé un autre exemple de rewriting et ça a marché !

    Il ne me reste plus qu'à dire un grand merci pour ce post, qui est heureusement assez bien référencé dans google, car je ne m'en serais pas tiré sans. Je précise à l'attention de ceux qui suivront qu'il est toujours possible de vérifier, via phpinfo(), si mod_rewrite est bien dans la liste des "loaded" (ça évite des tests qui ne permettent pas de conclure...)

    Pour ce qui est de l'hébergeur, je suis en local sous Xamp, et mon .htaccess ne contenait que les lignes proposées dans le tuto :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ^essai\.html$ /essai.php [L]
    Et le résultat donnait
    Objet non trouvé!
    lorsque je cherchais essai.html alors que essai.php était bien trouvé par le navigateur.

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Allow overide all
    Bonjour,

    1/ Concernant la directive "Allow overide", je rajouterais ceci :
    Il n'est pas nécessaire de spécifier cette directive dans le <directory> général de la configuration d'apache, il suffit de le faire dans l'alias intéressé. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Alias "/citynet2" "C://DONNEES//SITE PANORAMIC-CITY.NET v2/"
    <Directory "C://DONNEES//SITE PANORAMIC-CITY.NET v2">
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    Allow from 127.0.0.1
    deny from all
    </Directory>
    2/ Un exemple de .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on                       # Mise en route du moteur de rewriting de apache
    RewriteBase /
    RewriteRule index.php - [L]         # si l'url est index.php, on la reprend telle qu'elle et c'est la dernière règle à appliquer (L comme Last)
    RewriteRule ^(.*)\.php$ - [F]     # si 'url est de la forme *.php on interdit l'accès (F : Forbiden)
    Si quelqu'un sait ce que signifie la directive "RewriteBase /" je suis preneur

    Merci d'avance

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

Discussions similaires

  1. Plantage Apache2 sous Windows xp sp2 ?
    Par tintin72 dans le forum Apache
    Réponses: 1
    Dernier message: 04/06/2012, 14h02
  2. Extensions PHP4 et Apache2 sous Windows
    Par OpenMac dans le forum Apache
    Réponses: 4
    Dernier message: 09/02/2007, 15h53
  3. [Apache]Comment cohabiter apache2 et tomcat5 sous Windows?
    Par jlassira dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 13/02/2006, 16h35
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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