urlrewriting module activé mais marche pas

xbiron

Nouveau WRInaute
Bonjour,

Je viens de découvrir urlrewriting et ça a l'air génial :)
je me suis donc jeté sur le premier tuto trouvé pour essayer ça.

En faisans un tour dans mon fichier httpd.conf d'Apache (v 1.3.27), j'ai remarqué que les lignes d'activation du module rewrite étaient déja décommentées :

Code:
LoadModule rewrite_module     libexec/httpd/mod_rewrite.so
AddModule mod_rewrite.c

je me suis dit donc que ce module était déja installé (surtout qu'il y a bien un fichier "mod_rewrite.so" dans le rep "libexec/httpd".

Je me suis fais un répertoire test et j'ai mis dedans une page appelée index.php
Dans ce meme répertoire j'ai crée un .htaccess avec dedans :

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^test.php$ index.php [L]

Ce qui est censé afficher index.php pour la requete de test.php (si je ne me trompe pas...)

Mais quand je vais a
Code:
http://127.0.0.1/test/test.php
et bien j'ai un code 404 (non trouvé) au lieu de voir ma page index.php :(
Par contre quand je vais a :
Code:
http://127.0.0.1/test/index.php
tout marche bien... normal

je précise quand même que je suis sur Mac OS X ( v 10.2.8 )

ya t il une autre manip a faire pour activer le module rewrite ?

Merci de m'éclairer

Xav
 

nikoshr

WRInaute occasionnel
Il s'agit peut-être d'autoriser les .htacess dans le httpd.conf, ce qui se fait en changeant la directive AllowOverride None en AllowOverride All (ou en l'ajoutant si elle n'existe pas) pour l'arborescence concernée.
 

xbiron

Nouveau WRInaute
Nan, j'ai bien vérifié, mes htaccess sont activés, car si je met dedans :

Code:
ErroDocument 404 "Fichier introuvable !!!

Je vois bien ce message lors d'une erreur 404.

Mais j'ai trouvé une solution

Avis aux utilisateur de Mac OS X.2

La version d'Apache inclut dans OS X.2 est v 1.3.27 , apparement elle ne prend pas en compte le moteur urlrewriting.
Il faut donc installé Apache 2.
De plus, l'utilisation d'Apache 2 avec l'installation que je vais vous expliquer plus bas est beaucoup plus sécuritaire que Apache 1.3.27 natif OS X.
J'explique :
Quand on cochat avant "Activer Partage WEB perso", cela lancait Apache et ouvrait le port 80. C'est à dire que même si on voulait travailler en local, notre port 80 restais ouvert... libre à toutes intrusions !!

Alors qu'avec le module séparé d'Apache 2, vous allez en fait installé un 2e serveur Apache sans rien changer à l'ancienne version. Apache 1.3.27 restera instacte.
Et on pourra lancer Apache 2 sans ouvrir le port 80. Dans le cas où l'on voudra que notre serveur soit accessible en distant (par le web), il n'y aura qu'a aller dans les préférences du systèmes, aller dans Partage > Coupe-feu, et cliquer sur "Nouveau...". On rentrera "80" en port et ce que vous voulez en nom pour désigner ce port (moi j'ai mis "HTTP").
Par contre on ne peut pas lancer les 2 serveurs en même temps... cela va de soit ;)

Maintenant comment installé... Ne craignez rien... vous n'aurez même pas à faire un tour dans le terminal ... Tout est en instal .pkg :)

Rendez-vous sur www.serverlogistics.com
Dans la colonne de gauche, il y a une rubrique Free Software, cliquez sur Complete Apache 2 (Vous pourrez revenir plus tard pour installer PHP, MySQL, etc...)

Une section "overview" vous explique le contenu de l'arhcive suivi ensuite de la section "download".
Sélectionnez la version d'apache selon votre système (10.2 ou 10.3).
Downloadez, désarchivez, et double-cliquez sur Apache2.pkg. une fois l'installation fini, copiez le fichier Apache2.prefPane dans l'un des répertoires suivants :

Code:
/Library/PreferencePanes/
/~home/Library/PreferencePanes/

Et voila, c'est tout... maintenant rendez vous dans les préférences du systèmes et vérifier bien de désactiver le "partage WEB perso" pour stopper l'ancien Apache.
Revenez au menu principal des prefs systemes et Cliquez en bas sur Apache 2, c'est votre interface de controle d'apache 2. D'ici vous pouvez arreter, démarer, redémarrer, configurer, etc... votre serveur.

NB : Le serveur Apache 2 est totalement indépendant de Apache 1.3.27, donc vous devez reconfigurer votre httpd.conf et réinstallez les modules (php par exemple). Pour ma part j'ai installé Complete PHP (sur serverlogistics.com) et c'est aussi simple et efficace que l'install d'apache. Par contre je n'ai pas eu besoin de réinstaller MySQL :)

Et maintenant, l'urlrewriting est parfaitement opérationnel :)

Espérant que ça va en aider qqes un

Xav
 

Discussions similaires

Haut