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 :

URL Rewriting localhost erreur 500


Sujet :

Apache

  1. #1
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut URL Rewriting localhost erreur 500
    Bonjour,

    j'essai de réaliser une redirection d'url, le chemin réel est index.php?mn=3, et souhaiterai qu'elle devienne /accueil/ sachant que ce dossier n'existe pas, il s'agit du nom de la redirection souhaité

    Le problème rencontré c'est que si le fichier .htaccess est vide, le site fonctionne, si je le complète avec le code ci-dessous, ça déclenche une erreur 500..., je suis en localhost.

    http://localhost/project.com/index.php?mn=3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php?mn=3$ /voitures/ [L]
    Merci d'avance pour vos réponses

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Est-ce que mod_rewrite est activé dans Apache ? Je n'ai pas l'impression.

    Sinon, le réflexe de base est d'aller consulter le fichier error_log d'Apache dès qu'une erreur 500 est rencontrée. On y apprend souvent beaucoup de choses.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    effectivement il était désactivé, mais le code ne donne rien qq même

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est normal car le filtre de RewriteRule ne joue que sur la partie chemin de l'URL sans le / frontal. Pour reprendre ton exemple, la partie chemin de http://localhost/project.com/index.php?mn=3 est /index.php, donc Apache va essayer de filtrer "index.php" (en retirant le / frontal) sur un filtre qui est "^index.php?mn=3$" et qui signifie "index.phmn=3$" ou "index.phpmn=3".

    Pour exploiter la query string avec mod_rewrite, il faut utiliser RewriteCond. Dans ton cas, ça donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} ^mn=3$
    RewriteRule ^index.php$ /voitures/ [L]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    Merci pour ces explications, je ne suis pas expert dans les url rewriting...
    Après test le message suivant aparait (error 404)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Not Found
     
    The requested URL /voitures/ was not found on this server.
    c'est normal je crois parce que le dossier n'existe pas en réalité, je souhaite réaliser une réécriture de l'url comme si il existe..

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par dominos Voir le message
    c'est normal je crois parce que le dossier n'existe pas en réalité, je souhaite réaliser une réécriture de l'url comme si il existe..
    En effet, c'est toujours mieux de réécrire vers un truc qui existe, mais du coup je ne comprends plus du tout ce que tu cherches à faire

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    Merci pour le temp que tu prends à m'aider,
    je cherche en fait à réécrire une url en la transformant en dossier virtuel
    sans que ce dossier existe vraiment,

    Exemple:
    url d'origne => ...domaine.com/index.php?mn=3&lang=fr
    url réécrite => ...domaine.com/voitures/

  8. #8
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Essaie comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^voitures/$ index.php?mn=3 [L]

  9. #9
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    Merci ça fonctionne, faut juste penser à ajouter "../" dans le chemin du css et images.

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

Discussions similaires

  1. URL Rewriting (WAMP) : Erreur 500
    Par Khleo dans le forum Apache
    Réponses: 6
    Dernier message: 05/11/2010, 22h40
  2. URL Rewriting => Erreur 500
    Par Valter dans le forum Apache
    Réponses: 4
    Dernier message: 03/10/2008, 17h06
  3. Erreur 500 Url Rewriting
    Par acidline dans le forum Apache
    Réponses: 2
    Dernier message: 29/08/2008, 11h23
  4. [URL Rewriting] Obtention d'une erreur 500
    Par Invité dans le forum Apache
    Réponses: 7
    Dernier message: 24/07/2007, 18h04
  5. url rewriting erreur 500
    Par kimcharlene dans le forum Apache
    Réponses: 1
    Dernier message: 05/06/2007, 17h57

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