Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2011, 10h47   #1
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
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 :
1
2
3
4
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^index.php?mn=3$ /voitures/ [L]
Merci d'avance pour vos réponses
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 13h04   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 15h36   #3
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
effectivement il était désactivé, mais le code ne donne rien qq même
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 16h44   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
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 :
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 12h32   #5
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Merci pour ces explications, je ne suis pas expert dans les url rewriting...
Après test le message suivant aparait (error 404)

Code :
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..
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 21h31   #6
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 22h54   #7
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
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/
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 02h30   #8
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Essaie comme ceci

Code :
RewriteRule ^voitures/$ index.php?mn=3 [L]
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 08h11   #9
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Merci ça fonctionne, faut juste penser à ajouter "../" dans le chemin du css et images.
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h52.


 
 
 
 
Partenaires

Hébergement Web