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 :

PHP / Apache reécriture d'URL pour projet MVC


Sujet :

Apache

  1. #1
    Membre régulier

    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 89
    Points
    89
    Billets dans le blog
    2
    Par défaut PHP / Apache reécriture d'URL pour projet MVC
    Bonjour,

    Je suis a la recherche d'information quant à la réécriture d'URL pour un projet MVC. Pour un tel projet les URL se présentent de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://monsite.com/?controller=controller_users&action=connexion
    L'idée serait de pouvoir les nettoyer, mais de façon plus ou moins automatisée. Par exemple, passer de l'exemple ci-dessus à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://monsite.com/connexion
    J'ai parcouru le le cours de developpez.com dédié ainsi que la documentation officielle sans pour autant trouver mon bonheur.

    Merci à vous pour toute intervention

  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
    T'as pas un début de configuration à nous présenter ? Le contrôleur sera toujours controller_users pour toutes tes pages ou que pour /connexion ?

    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 régulier

    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 89
    Points
    89
    Billets dans le blog
    2
    Par défaut
    Merci _Mac_

    Pardon pour cette réponse tardive, ainsi que pour mon premier message plutôt évasif.
    Voici le cheminement des différentes routes possibles :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $routes = [
    	'controller_users'=>['inscription','connexion','deconnexion','profil','maj','mdpPerdu'],
    	'controller_catalogue' => ['carousel','jsonBDD',],
    	'controller_paniers' => ['panier','retirer','jsonPanier','adresse'],
    	'controller_admin' => ['index_gestionnaire','articles','commandes','contact'],
    ];

    Donc en l'occurrence, non. controller_users peut pointer vers les actions suivantes :
    • 'inscription'
    • 'connexion'
    • 'deconnexion'
    • 'profil'
    • 'maj'
    • 'mdpPerdu'


    J'en profite pour vous demander, si suivant la même logique il serait possible de modifier les éléments de l'URL qui préfigurent les paramètres (leSite.php?parametre)

    Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Points : 747
    Points
    747
    Par défaut
    Bonjour,

    tu peux commencer par ce tuto qui reprend es bases de la réécriture d'url : http://www.expreg.com/rewrite.php

  5. #5
    Membre régulier

    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 89
    Points
    89
    Billets dans le blog
    2
    Par défaut
    Merci

    En explicitant le contrôleur et l'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ([a-z]+)\.([a-z]+)\.html$ public/router.php?controller=controller_users&action=connexion
    la page est atteinte (code HTTP 200) en tapant :
    /controller_users.connexion.html

    Par contre, avec celle-ci non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ([a-z]+)\.([a-z]+)\.html$ public/router.php?controller=$1&action=$2
    Pourtant, après vérification des logs apache, il ne semble y avoir aucune erreur.

    documentation


    [Édit :] cela fonctionne mieux ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ([a-zA-Z0-9_]+)\.([a-zA-Z0-9_]+)\.html$ public/router.php?controller=$1&action=$2

Discussions similaires

  1. [Bénévole] Pour projet de jeu en ligne (PHP)
    Par becket63 dans le forum Autres
    Réponses: 0
    Dernier message: 10/02/2008, 11h54
  2. Réponses: 1
    Dernier message: 19/06/2007, 23h28
  3. [MySQL] Fonctions calculs SQL/PHP pour projet football
    Par spamyx dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 16h16
  4. webmail pour PHP APACHE MDAEMON le tout sous windows
    Par Corben dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 04/11/2005, 15h16
  5. création d'une base en 9.2 pour php/apache ?
    Par sgonzale dans le forum Oracle
    Réponses: 3
    Dernier message: 15/12/2004, 15h46

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