Pas a pas l'url rewriting sur win et apache

Nouveau WRInaute
bonjour a tous je suis un petit nouveau sur votre forum(oui oui j'ai lu les règles :-D)
J'ai reussi à faire de l'url rewriting pour mon site et ca marche nickel !(enfin sur mon hebergeur)
Ceci grâce a vous et votre tutorial super clair (bravo !)
Le problème c'est que maintenant tous mes liens sont en .html et donc il faut aussi activer l'url rewrite engine chez moi en local...
Alors dans httpd.conf j'ai active l'url rewrite engine mais le problème c'est que ca marche pas... Quelqun peut 'il me reexpliquer la procédure de zéro ???
 
WRInaute passionné
Salut Maverick78 et bienvenue sur les forums de WebRankInfo,

Comme tu annonces d'emblée que tu as lu la FAQ, ne ne vais pas te le suggérer. Tu auras remarqué que je suis quand même parvenu à coller un lien ... :wink:

Merci pour tes commentaires sur le tutorial, c'était le but de permettre aux "nouveaux" de mettre en route un truc de "pros" :lol:

Tu ne dis pas la config que tu as chez toi, ni ce qui ne marche pas... ce n'est donc pas simple de pister le problème...

Quelques débuts de piste tout de même. Dans le fichier httpd.conf, assure toi que les lignes:
LoadModule rewrite_module modules/mod_rewrite.so
et
AddModule mod_rewrite.c
ne soient pas commentées.
Regarde aussi comment est positionné le AllowOverride, le plus permissif (et le moins sûr) est:
AllowOverride All
Si tu es le seul à créer des pages web, c'est bon ! Si tu héberges d'autres utilisateurs, il faudra peut-être restreindre. Pour tester, laisse "la porte ouverte". Il est souvent positionné à "None" par défaut.

Pour t'aider plus, il me faut les versions du système d'exploitation et d'Apache, ainsi que la description de "ce qui ne marche pas" (erreur 500, 404 ou autre chose ?)

Cela peut aussi être une mauvaise règle , as-tu essayé qqch de trivial?

Dan
 
Nouveau WRInaute
alors c'est apache 1.3.27 sur win98
j'ai bien decommente les deux lignes du httpd.conf
je suis seul sur le developpement pas de danger...
j'ai une 404 me disant que l'url requested n'existe pas et dans le log du rewrite(rewrite.log) j'ai
Code:
127.0.0.1 - - [23/Feb/2003:18:18:13 +0100] [localhost/sid#65628c][rid#7057e8/initial] (2) init rewrite engine with requested uri /membres.html
127.0.0.1 - - [23/Feb/2003:18:18:13 +0100] [localhost/sid#65628c][rid#7057e8/initial] (1) pass through /membres.html
etonnant car normalement j'ai la regle la :
Code:
RewriteRule ^([a-z0-9]+)\.html$ index.php3?page=$1 [L]
ce qui aurait donc du donner index.php3?page=membres
sachant que ce code marche parfaitement sur mon hebergeur...
strange non ??
 
WRInaute passionné
Maverick78 a dit:
Code:
127.0.0.1 - - [23/Feb/2003:18:18:13 +0100] [localhost/sid#65628c][rid#7057e8/initial] (2) init rewrite engine with requested uri /membres.html
127.0.0.1 - - [23/Feb/2003:18:18:13 +0100] [localhost/sid#65628c][rid#7057e8/initial] (1) pass through /membres.html
Manifestement, le moteur de réécriture recherche /membres.html et ne le trouve pas à cause du / qui manque dans ton rewriterule.

La règle:
Code:
RewriteRule ^/([a-z0-9]+)\.html$ index.php3?page=$1 [L]
donne quoi ? (j'ai rajouté un / au début)
ou mieux celle-ci?
Code:
RewriteRule ([a-z0-9]+)\.html$ index.php3?page=$1 [L]
(sans le ^ qui ne sert à rien qu'à enquiquiner le monde si l'url commence par / :lol: )

Dan
 
Nouveau WRInaute
still une 404 !
extrait du log :
Code:
127.0.0.1 - - [23/Feb/2003:22:01:04 +0100] [localhost/sid#65628c][rid#7057e8/initial] (2) init rewrite engine with requested uri /news.html
127.0.0.1 - - [23/Feb/2003:22:01:04 +0100] [localhost/sid#65628c][rid#7057e8/initial] (1) pass through /news.html
127.0.0.1 - - [23/Feb/2003:22:01:04 +0100] [localhost/sid#65628c][rid#7057e8/initial] (3) [per-dir c:/internet/site/] strip per-dir prefix: c:/internet/site/news.html -> news.html
127.0.0.1 - - [23/Feb/2003:22:01:04 +0100] [localhost/sid#65628c][rid#7057e8/initial] (3) [per-dir c:/internet/site/] applying pattern '^/([a-z0-9]+)\.html$' to uri 'news.html'
127.0.0.1 - - [23/Feb/2003:22:01:04 +0100] [localhost/sid#65628c][rid#7057e8/initial] (1) [per-dir c:/internet/site/] pass through c:/internet/site/news.html
 
WRInaute occasionnel
tu es entre de bonnes main maverick :wink: ...

laisse toi dorloter par DAN, tu vas voir...il connait tout :lol:

(ps: t'as plus le choix dan :!: a toi de jouer
 
WRInaute passionné
Maverick78,

Tu as effectivement appliqué la première règle donnée parce qu'il essaye toujours une comparaison avec ^/news.html (avant dernière ligne du log) et l'uri passée est news.html, donc il n'y a pas de "pattern matching"

Tu devrais mettre la deuxième règle en place, elle devrait passer (sans le ^) :wink:
Code:
RewriteRule ([a-z0-9]+)\.html$ index.php3?page=$1 [L]

A mon sens, on fait face à une "particularité" de Apache/windows qui n'a pas l'air très constant dans sa manière de gérer les répertoires (une fois il supprime le / , une fois il ne le supprime pas).

Dan

luckyluk a dit:
laisse toi dorloter par DAN, tu vas voir...il connait tout
Tu ne crois pas que tu t'avances un peu, là ? :lol:
 
Nouveau WRInaute
ah je te jures que j'avais essaye avec les deux lignes ! et ca marchait pas !
mais bon maintenant ca marche !!! merci beaucoup !
l'informatique est loin d'etre une science exacte !
 
WRInaute passionné
Maverick78 a dit:
ah je te jures que j'avais essaye avec les deux lignes ! et ca marchait pas !
mais bon maintenant ca marche !!! merci beaucoup !
l'informatique est loin d'etre une science exacte !
L'informatique, si ! Mais Windows 98... j'ai quelques doutes.
Apache annonce bien que son serveur HTTP est loin d'être exploitable en prod sur Win98... je pense que ceci le démontre. :wink:

A+

Dan
 
Discussions similaires
Haut