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] Rediriger les pages sur /index.php


Sujet :

Apache

  1. #1
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  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
    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

  3. #3
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    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

  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
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  5. #5
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Super !!!!

    Ça marche nickel.

    Merci beaucoup de ton aide précieuse.

    doudouallemand
    développeur en folie cherche à ... développer encore plus

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/12/2012, 12h21
  2. Réponses: 1
    Dernier message: 23/02/2010, 20h11
  3. URL Rewriting pour les pages génériques html
    Par scruteweb dans le forum Apache
    Réponses: 5
    Dernier message: 09/09/2009, 20h30
  4. Réponses: 1
    Dernier message: 29/11/2008, 10h01
  5. Réponses: 1
    Dernier message: 29/02/2008, 17h54

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