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] Empêcher l'affichage de /index.php dans la barre d'URL


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Admin Système / Développeur
    Inscrit en
    Mai 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Admin Système / Développeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut [URL rewriting] Empêcher l'affichage de /index.php dans la barre d'URL
    (Re)Bonjour à toutes et à tous,

    J'ai besoin de savoir s'il est possible de mettre en place le système suivant:

    J'ai la page index.php disponible à l'adresse suivante: http://site.fr/index.php. Je souhaiterai que l'utilisateur, qui accède à cette page, voit une adresse du style http://site.fr/accueil et que cette adresse pointe (de façon transparente) vers http://site.fr/index.php. Bien entendu, il faut aussi que l'utilisateur puisse accéder à cette adresse http://site.fr/accueil directement.

    A l'heure actuelle, j'ai ce htaccess:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    # PARAMETERS
    Options +FollowSymLinks
    RewriteEngine on
     
    # REWRITING RULES
    RewriteRule accueil /index.php [QSA,L]
    Cela me permet d'avoir un accès à ma page avec l'adresse http://site.fr/accueil, mais les utilisateurs ont aussi accès à l'adresse http://site.fr/index.php et je souhaiterai qu'ils soient renvoyé automatiquement vers http://site.fr/accueil...

    Problème, lorsque je rajoute cette ligne dans mon htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RedirectPermanent /index.php http://site.fr/accueil
    Je me retrouve avec un message me disant "Boucle de redirection" lorsque je cherche à atteindre l'une des 2 URLs

    Cela me parait logique mais je ne trouve pas de solution à mon problème.

    Je viens ici dans l'espoir qu'on m'indique mon erreur ou que l'on me confirme que ce n'est pas faisable. Car je commence à croire que ce que j'imagine n'est pas réalisable.

    En attendant de vous lire.

    Arnaud


    --- EDIT --- Pour être clair: Car je ne suis pas sûr de l'avoir été suffisamment pour tout le monde...

    Un accès vers cette adresse http://site.fr/index.php doit être renvoyer vers l'adresse http://site.fr/accueil

    L'adresse http://site.fr/accueil doit pointer vers http://site.fr/index.php

    http://site.fr/index.php : cette url ne doit pas s'afficher dans la barre d'adresse, elle doit être remplacer automatiquement par http://site.fr/accueil

  2. #2
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Points : 3 861
    Points
    3 861
    Billets dans le blog
    6
    Par défaut
    (Je suis toujours surpris de ces intégrations torturées, mais bon ^^)

    Pour ma part, j'aurais demandé que la page "accueil" soit considérée comme une page Index, puis j'aurais ajouté une règle pour ajouter l'extension de page. Soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    # Page index = accueil (puis) index
    DirectoryIndex accueil index
     
    # Ajouter extension .php
    <IfModule mod_rewrite.c>
    	Options +FollowSymLinks
    	Options +Indexes
    	RewriteEngine On
    	RewriteCond %{SCRIPT_FILENAME} !-d
    	RewriteRule ^([^\.]+)$ $1.php [NC,L]
    </IfModule>
    A priori, ça vous permet d'utiliser *vraiment* une page nommée "accueil".

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Admin Système / Développeur
    Inscrit en
    Mai 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Admin Système / Développeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Salut Muchos, je te remerci d'avoir répondu au message. Mais je crois que j'ai pas réussi à me faire comprendre correctement, et c'était cela ma principale crainte.

    Dans la réalité des choses, mon fichier se nomme bien index.php. Ce que je veux mettre en place c'est juste du visuel... En gros l'utilisateur voit dans la barre d'adresse site.fr/accueil (sans extension) et le fichier appelé est index.php. J'ai réussi à mettre cela en place sans trop difficultés. Mais la possibilité d'utiliser site.fr/index.php est toujours là.

    Pour moi la difficulté, c'est d'empêcher l'utilisateur d'avoir cette possibilité (d'atteindre site.fr/index.php, visuellement dans la barre d'adresse). Je souhaite en gros forcer l'affichage de l'URL site.fr/accueil.

    J'espère avoir été plus clair dans mes explications. Ton bout htaccess peut m'intéresser également. Je vais aller tester ce que ça me permet de faire. Etant entrain de mettre en place un htaccess "complexe" (pour moi) pour la première fois. Il y a des choses que je ne maîtrise pas dans ce que tu m'as indiqué. Je vais regarder ça, mais si tu as le temps de me commenter chaque ligne de ce que tu m'as fourni, cela me permettrait d'apprendre et pas de bêtement recopié. Sinon, j'ai de la chance, j'ai eu droit à des erreurs 404 et 500, mais rien de bien méchant, tout est rentré dans l'ordre après quelques corrections (merci FTP de pas prendre compte les .htaccess)

  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
    En quoi c'est gênant d'avoir /index.php dans l'URL ? Si ton site ne contient jamais cette URL (/index.php), seul un visiteur qui tape explicitement /index.php dans l'URL la verra.

    Ce que tu demandes est possible mais est-ce vraiment nécessaire de s'embarquer dans du .htaccess compliqué ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Admin Système / Développeur
    Inscrit en
    Mai 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Admin Système / Développeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    C'est un projet personnel, donc bien évidement ce n'est point obligatoire...

    La seule chose, c'est que j'aime apprendre de nouvelles choses et là c'était une bonne occasion. J'ai une envie-besoin et une connaissance manquante.

    Merci, quand même pour vos réponses.

  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
    Bon. Inspire-toi de cette discussion.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Admin Système / Développeur
    Inscrit en
    Mai 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Admin Système / Développeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci, _Mac_, désolé entre ça et l'intégration graphique de mon blog dotclear... J'avais du mal à jongler entre les deux. Je vais regarder ce topic de plus près... J'avais jeter un oeil le jour même ou tu as donné le lien. Mais je n'ai lu qu'en travers pour voir si je trouverai des éléments de réponses. Je vais m'y pencher plus sérieusement. Merci, pour l'info. Je ne passe pas en résolu tout de suite. Au cas où un problème se présente, et vu le bordel que sont les htaccess, c'est quasiment sûr que je repasse par là.

Discussions similaires

  1. [URL rewriting] Rediriger les pages sur /index.php
    Par doudoustephane dans le forum Apache
    Réponses: 4
    Dernier message: 23/11/2010, 22h10
  2. [URL rewriting] Remplacer l'extension des fichiers .php
    Par l.laurent60 dans le forum Apache
    Réponses: 1
    Dernier message: 14/07/2010, 18h12
  3. Réponses: 3
    Dernier message: 17/06/2010, 19h40
  4. [URL REWRITING] Incohérence avec le fichier index ?
    Par dorian53 dans le forum Apache
    Réponses: 15
    Dernier message: 28/01/2009, 18h28
  5. [URL Rewriting] Problème d'affichage d'images
    Par eexit dans le forum Apache
    Réponses: 2
    Dernier message: 08/03/2008, 02h34

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