Forum Linux.debian/ubuntu Problème d'url rewriting

Posté par  (site web personnel) .
Étiquettes : aucune
0
31
août
2004
Bonjour,

Je voulais testé ce fameux module d'apache, mais hélas, malgrès les milliers de tutorials présents sur le net, je n'arrive pas a le faire tourner chez moi.

Alors tout d'abord, j'ai bien dans mon modules.conf la ligne suivante :
LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so

Si je rajoute une ligne AddModule mod_rewrite.c comme l'indque certains tuto, j'ai un warning me disant qu'il est déjà ajouté.

Ensuite j'ai un fichier plop.html et je veux que quand on tappe quelque_chose.rom, ca affiche plop.html

pour ca dans le .htaccess a la racine (/var/www) :

RewriteEngine on
RewriteRule ^(.*)\.rom$ /plop.html



Et ca reste déséspéremment vide. Erreur 404, et parfois une msgbox me disant que le site ne peut etre trouvé (j'suis sur IE au taf, je bidouille la conf du server apache via ssh...)


Bref, quelqu'un a une idée ?

Merci
  • # Erreur 404 ?

    Posté par  (site web personnel) . Évalué à 2.

    Si tu as une erreur 404, c'est que bêtement ton fichier plop.html n'existe pas.
    Deux raisons:
    - il n'est pas à l'endroit spécifié
    - ton fichier .htaccess est ignoré.

    As-tu regardé les logs d'apache
    • [^] # Re: Erreur 404 ?

      Posté par  (site web personnel) . Évalué à 1.

      Mon fichier plop.html existe bien !!

      et dans les logs :

      [Tue Aug 31 11:20:20 2004] [error] [client 195.124.18.133] File does not exist: /var/www/plop.rom


      D'après les réglages dans httpd.conf, le fichier .htaccess n'est pas censé etre ignoré :-/
  • # les logs !!

    Posté par  . Évalué à 4.

    A mon avis essaye de mettre un peu de log ,
    avec un loglevel elevé ton module va t'expliquer TOUT ce qu'il fait..

    RewriteLog logs/rewrite.log
    RewriteLogLevel 9
  • # Hum

    Posté par  (site web personnel) . Évalué à 1.

    Bon j'ai mis les lignes
    RewriteEngine on
    RewriteRule ^(.*)\.rom$ /plop.html

    dans le httpd.conf et là ca marche.
    J'en déduis donc que c'est mon .htaccess qui ne marche pas :-/
    Comment ca se fait ca ?
    • [^] # Re: Hum

      Posté par  (site web personnel) . Évalué à 4.

      Tu dois avoir une règle dans ton httpd.conf qui te dit de les ignorer ou d'ignorer certaines règles des dits htaccess. De mémoire la directive est AllowOverride.
      • [^] # Re: Hum

        Posté par  (site web personnel) . Évalué à 1.

        Bingo :)

        J'ai mis AllowOverride All (au lieu de none)
        Et maintenant il tient compte du .htaccess

        Merci beaucoup !
  • # Arf

    Posté par  (site web personnel) . Évalué à 1.

    Bon c'est encore moi, ca marchait bien mais j'ai voulu essayer :

    RewriteRule ^(.*)\.html$ /$1\.php

    Et là ca marche plus :'(
    • [^] # Re: Arf

      Posté par  . Évalué à 3.

      la substitution est une chaine, pas une expression rationnelle => on n'escape pas le . dans le membre de droite

      Ensuite, si dans la substitution il y a un /, j'en mettrais un aussi dans le pattern

      bref:

      RewriteRule ^/(.*)\.html$ /$1.php

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.