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 20/11/2010, 00h39   #1
Membre expérimenté
 
Avatar de doudouallemand
 
Inscription : août 2005
Messages : 1 108
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2005
Messages : 1 108
Points : 597
Points : 597
Par défaut [URL rewriting] Rediriger les pages sur /index.php

Bonjour.

Je rencontre un problème simple, mais dont je ne trouve pas de situation équivalente sur le forum ou google.

Je vous soumets donc cela :

Je dispose d'un serveur mutualisé (sur planethoster si ça peut aider comme information) sur lequel je dois mettre plusieurs sites webs.

J'ai donc créé des répertoires, soit un par site.

Là, pour un site en particulier, j'ai acheté un nom de domaine pour y accéder directement.

Mon site étant construit sur la base d'une page index avec paramètre et sachant que je veux des url simples, je souhaite donc faire des redirections, mais je ne parviens pas à trouver la syntaxe correct.

J'ai pour le moment le code ci-dessous, mais qui génère dans le navigateur la page "La page n'est pas redirigée correctement" :
Code :
1
2
3
4
RewriteCond %{HTTP_HOST} ^www.monsite.fr$
ReWriteCond %{SCRIPT_FILENAME} !^index.php [NC]
RewriteRule ^(.*)$ http://www.monsite.fr/index.php?page=$1 [L,R]
Le second ReWrieCond est là car je ne dois pas rediriger la page index sur elle-même.

A l'arrivée, je dois avoir :
Adresse saisie : http://www.monsite.fr/ma_page.php
Adresse redirigée : http://www.monsite.fr/index.php?page=ma_page.php

Merci d'avance,
Et si besoin de plus d'informations, n'hésitez pas.

Merci d'avance
__________________
développeur en folie cherche à ... développer encore plus
doudouallemand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 15h04   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 265
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 265
Points : 8 549
Points : 8 549
Citation:
Envoyé par doudouallemand Voir le message
Le second ReWrieCond est là car je ne dois pas rediriger la page index sur elle-même.
On est d'accord mais la condition est mal formulée. %{SCRIPT_FILENAME} n'est pas juste ne nom du script appelé, c'est le chemin complet vers ce script, contenant donc des répertoires. Tu peux simplement retirer le ^ pour résoudre le problème.
__________________

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 23/11/2010, 16h23   #3
Membre expérimenté
 
Avatar de doudouallemand
 
Inscription : août 2005
Messages : 1 108
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2005
Messages : 1 108
Points : 597
Points : 597
Bonjour, et merci pour ton retour.

Cela a effectivement résolu mon problème, mais 2 autres sont apparu du coup (enfin, 1 + 1 demande) :
- mon fichier css n'est plus pris en compte alors que le chemin présant dans le head des codes sources de page est correct. Est-il redirigé lui aussi et, si oui, comment l'en empêcher ?
- l'url présente dans la barre d'adresse change vers la redirection. Est-ce possible de ne pas afficher la redirection (et donc, de laisser l'adresse saisie) ?

Merci d'avance
__________________
développeur en folie cherche à ... développer encore plus
doudouallemand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 18h40   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 265
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 265
Points : 8 549
Points : 8 549
Citation:
Envoyé par doudouallemand Voir le message
- mon fichier css n'est plus pris en compte alors que le chemin présant dans le head des codes sources de page est correct. Est-il redirigé lui aussi et, si oui, comment l'en empêcher ?
Oui, il est aussi redirigé à cause du filtre trop large ^(.*)$ de la RewriteRule. Il faut ajouter d'autres conditions pour s'en sortir, le plus simple étant de dire "si ce qu'on demande n'existe pas" :
Code :
RewriteCond %{REQUEST_FILENAME} !-f
A AJOUTER AUX RewriteCond DEJA EXISTANTES.

Citation:
Envoyé par doudouallemand Voir le message
- l'url présente dans la barre d'adresse change vers la redirection. Est-ce possible de ne pas afficher la redirection (et donc, de laisser l'adresse saisie) ?
Oui. 2 choses à faire : retirer le flag R et le http://... dans la RewriteRule :
Code :
RewriteRule ^(.*)$ /index.php?page=$1 [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 23/11/2010, 22h10   #5
Membre expérimenté
 
Avatar de doudouallemand
 
Inscription : août 2005
Messages : 1 108
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2005
Messages : 1 108
Points : 597
Points : 597
Super !!!!

Ça marche nickel.

Merci beaucoup de ton aide précieuse.

doudouallemand
__________________
développeur en folie cherche à ... développer encore plus
doudouallemand 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 19h18.


 
 
 
 
Partenaires

Hébergement Web