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 :

Réécriture d'url qui marche pas


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Avril 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 213
    Par défaut Réécriture d'url qui marche pas
    Bonjour,

    je suis sous easyphp 1.8. J'ai décommenté dans le http.conf les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LoadModule rewrite_module modules/mod_rewrite.so
    AddModule mod_rewrite.c
    Mon site utilise un alias
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Alias "/Espacejob_dvp" "D:/Mes Documents/Save IN021/E/Mes Documents/ESPACEJOB LOCAL/www/"
    <Directory "D:/Mes Documents/Save IN021/E/Mes Documents/ESPACEJOB LOCAL/www">
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    #Order allow,deny
    Allow from all
    </Directory>
    mon .htacces se trouve à la racine de mon site avec un fichier test.php et il contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule ^test\.html$ test.php [L]
    J'ai essayé aussi en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^test\.html$ /test.php [L]
    J'ai fait un test en mettant AuthUserFile et tous ce qui va bien dans le .htaccess, et il me demande bien un password.

    En revanche lorsque je saisis dans mon url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://127.0.0.1/Espacejob_dvp/test.html
    j'ai une erreur 404.

    dans apache j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Tue Dec 02 12:56:13 2008] [error] [client 127.0.0.1] File does not exist: d:/mes documents/save in021/e/mes documents/espacejob local/www//test.html
    Pourriez-vous m'aiguiller svp. Là se sèche depuis 4h. Merci de votre aide.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Oui et c'est normal car votre règle ne peut correspondre qu'à la seule adresse suivante : http://localhost/test.html.

    Pour gérer toute requête test.html, il faudrait quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*/)?test\.html$ $1test.php [L]
    Par contre, si seule l'adresse http://127.0.0.1/Espacejob_dvp/test.html vous intéresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^Espacejob_dvp/test\.html$ Espacejob_dvp/test.php [L]

  3. #3
    Membre très actif
    Inscrit en
    Avril 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 213
    Par défaut
    Ok merci. J'ai fait la modif mais ça ne fonctionne toujours pas.

    voici donc ce que j'ai maintenant dans mon .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule ^(.*/)?test\.html$ $1test.php [L]
    J'ai essayé aussi l'autre cas que vous m'avez proposé mais rien n'y fait toujours erreur 404 sauf que dans les logs d'apache j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Tue Dec 02 14:31:33 2008] [error] [client 127.0.0.1] File does not exist: c:/program files/easyphp1-8/www/test.php
    j'en déduit que le pb vient du fait qu'il y a un alias

  4. #4
    Membre très actif
    Inscrit en
    Avril 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 213
    Par défaut
    J'y suis arrivé en combinant les deux solutions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule ^(.*)?/test\.html$ /Espacejob_dvp/$1/test.php [L]
    comment puis-je faire pour ne pas préciser mon alias dans la chaine de remplacement ?

  5. #5
    Membre très actif
    Inscrit en
    Avril 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 213
    Par défaut
    c'est bon j'ai trouvé merci pour le coup de pouce.

    il faut mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase   /Espacejob_dvp
    RewriteRule ^(.*/)?test\.html$ $1test.php [L]

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

Discussions similaires

  1. Passage de paramètres en url qui marche pas
    Par debilemaniac dans le forum Langage
    Réponses: 9
    Dernier message: 30/05/2006, 16h29
  2. requete(jointure 2 tables) qui marche pas
    Par DaxTaz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2004, 17h50
  3. une comparaison qui marche pas.
    Par gandf dans le forum C++Builder
    Réponses: 7
    Dernier message: 16/02/2004, 15h59
  4. [LG]Split qui marche pas
    Par macluvitch dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2003, 18h19
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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