Prb Apache 2.0.45 et mod_rewrite

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

djwo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 7 Mai 2003

Prb Apache 2.0.45 et mod_rewrite

Message le Lun Mai 12, 2003 16:20

Bonjour,

j'ai déjà mis un post la semaine dernière concernant un problème de casse avec apache 1.3.27 sous windows. Je ne suis jamais arrivé à passer outre ce problème alors que sous un serveur web linux, tout passe sans problème.

Etant donné que cela marche sous linux et qu'après de nombreuses recherches je ne suis pas parvenu à trouver la solution, je me suis dit qu'il fallait essayer de passer à la dernière version d'apache.

Du coup je l'ai installé et là horreur, je n'arrive même plus à faire fonctionner un exemple de base.
Le module mod_rewrite.so a pourtant bel et bien été activé dans le httpd.conf. Le fichier .htaccess ressemble à ceci :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^trouve.html$ index.php [L]


J'ai également activer le fichier des erreur avec un niveau à 9, qui devrait me rapporter un max d'infos et il ne me retourne que ceci :
Code: Tout sélectionner
127.0.0.1 - - [12/May/2003:17:09:49 +0200] [127.0.0.1/sid#23bc68][rid#470ec0/initial] (2) init rewrite engine with requested uri /dev/scripts/scripts/trouve.html
127.0.0.1 - - [12/May/2003:17:09:49 +0200] [127.0.0.1/sid#23bc68][rid#470ec0/initial] (1) pass through /dev/scripts/scripts/trouve.html


Avez vous une idée de ce qu'il se passe?

djwo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 7 Mai 2003

ok

Message le Lun Mai 12, 2003 16:48

Ok le problème était que dans le httpd.con la ligne suivante était insérée :
AllowOverride None

Or cette ligne interdit la mise en place du fichier .htaccess.
En la mettant à :
AllowOverride All

le problèmé est résolu.

Et le must du must, avec apache 2.0.45, la casse des urls est enfin respéctée!!!


hetzeld
WRInaute passionné
WRInaute passionné
 
Messages: 2209
Inscription: 2 Déc 2002

Message le Lun Mai 12, 2003 16:53

Bonjour,

Tu ne précises pas où se trouve cette règle.. dans le .htaccess de la racine ou dans un sous répertoire ?

Selon ton log, tu cherches à remplacer une url commençant par trouve.html alors que le moteur reçoit /dev/scripts/scripts/trouve.html
soit tu supprimes le ^ de ta règle,
soit tu ajoutes la ligne suivante (après RewriteEngine on):
RewriteBase /dev/scripts/scripts/

Dan

zehunter
WRInaute impliqué
WRInaute impliqué
 
Messages: 532
Inscription: 10 Fév 2003

Re: Prb Apache 2.0.45 et mod_rewrite

Message le Lun Mai 12, 2003 17:01

djwo a écrit:Bonjour,

j'ai déjà mis un post la semaine dernière concernant un problème de casse avec apache 1.3.27 sous windows. Je ne suis jamais arrivé à passer outre ce problème alors que sous un serveur web linux, tout passe sans problème.

Etant donné que cela marche sous linux et qu'après de nombreuses recherches je ne suis pas parvenu à trouver la solution, je me suis dit qu'il fallait essayer de passer à la dernière version d'apache.

Du coup je l'ai installé et là horreur, je n'arrive même plus à faire fonctionner un exemple de base.
Le module mod_rewrite.so a pourtant bel et bien été activé dans le httpd.conf. Le fichier .htaccess ressemble à ceci :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^trouve.html$ index.php [L]


J'ai également activer le fichier des erreur avec un niveau à 9, qui devrait me rapporter un max d'infos et il ne me retourne que ceci :
Code: Tout sélectionner
127.0.0.1 - - [12/May/2003:17:09:49 +0200] [127.0.0.1/sid#23bc68][rid#470ec0/initial] (2) init rewrite engine with requested uri /dev/scripts/scripts/trouve.html
127.0.0.1 - - [12/May/2003:17:09:49 +0200] [127.0.0.1/sid#23bc68][rid#470ec0/initial] (1) pass through /dev/scripts/scripts/trouve.html


Avez vous une idée de ce qu'il se passe?


je vais peut etre dire une grosse connerie mais ta regle est pas bonne ...

^ signefie debut de ligne et $ signifie fin de ligne .. donc toutes les urls qui commance part t contiens rouve.htm et fini par l sera interprete comme une url a reecrire ...

je dirais qu'une regle comme suis:
^*?trouve.html$ marcherais mieux .. mais j'en suis pas sur ...

voila ...

djwo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 7 Mai 2003

Message le Lun Mai 12, 2003 17:38

Je ne sais pas trop en quoi influe les sépareurs de début et de fin de ligne, j'ai vu dans ce forum que cela posait pas mal de problème (en tout cas sous windows). Mais l'exemple que je cite ici est au caractère rès celui qui est donné en exemple dans le tutorial de webrankinfo.

Si quelqu'un veut bien expliquer leur réelle signification...

Pour répondre à Dan, le fichier htaccess était bien à la racine. C'était vraiment un problème de droits à régler dans le httpd.conf (tout fonctionne à merveille maintenant, meême en laissant le ^).
Mais effectivement l'erreur que soumet le fichier log du mod rewrite ne permettait pas d'appréhender facilement l'erreur.

Je vous remercie vivement tous les deux pour votre contribution...

A+


hetzeld
WRInaute passionné
WRInaute passionné
 
Messages: 2209
Inscription: 2 Déc 2002

Re: Prb Apache 2.0.45 et mod_rewrite

Message le Mar Mai 13, 2003 8:05

zehunter a écrit:je vais peut etre dire une grosse connerie mais ta regle est pas bonne ...
je dirais qu'une regle comme suis:
^*?trouve.html$ marcherais mieux .. mais j'en suis pas sur ...

Elle n'est pas très grosse, mais c'en est une. Ta règle est pire ! :lol:

Dans ton exemple, le caractère ^ ne sert à rien, pas plus que le ? d'ailleurs ... et si tu veux faire un "match" de n'importe quel caractère, c'est .* et non * tout seul.
Cela fait beaucoup à redire sur 3 caractères... :wink:

Si on veut réécrire les URLs qui se terminent par "cherche.html" , il est inutile de mettre quoi que ce soit devant, donc:
Code: Tout sélectionner
RewriteRule cherche.html$ trouve.html

suffit largement et est équivalent (en plus rapide) aux règles
Code: Tout sélectionner
RewriteRule .*cherche.html$ trouve.html
RewriteRule ^.*cherche.html$ trouve.html

Dans ces dernières règles, il est inutile de rechercher le début de l'URL, et tous les caractères qui pourraient précéder le mot "cherche.html" car cela consomme des ressources inutilement et on n'en fait rien de toutes façons.
Elles sont néanmoins correctes en terme de syntaxe, ce n'est que la logique qui est prise en défaut et qui alourdit l'expression.

Dan

zehunter
WRInaute impliqué
WRInaute impliqué
 
Messages: 532
Inscription: 10 Fév 2003

Re: Prb Apache 2.0.45 et mod_rewrite

Message le Mar Mai 13, 2003 8:51

desole j'ai plus l'habitude de dev en perl avec des expression regulieres ...


hetzeld
WRInaute passionné
WRInaute passionné
 
Messages: 2209
Inscription: 2 Déc 2002

Message le Mar Mai 13, 2003 9:12

Zehunter,

Pas de problème, mais les expressions régulières en Perl ne sont pas tellement différentes :wink:

Dan

PS: J'ai édité ton message comme il n'est pas utile de citer systématiquement l'intégralité du message auquel tu réponds.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités