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

MVC PHP Discussion :

URL rewriting pour une meilleure visibilité


Sujet :

MVC PHP

  1. #1
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut URL rewriting pour une meilleure visibilité
    Bonjour,

    Imaginons que j'ai un module page qui a un controller page et une action loadPage. On va charger les pages grâce à leur id ce qui va nous donner des liens dans ce genre:
    http://www.monsite.com/page/page/loadPage/id/4589

    Personnellement je trouve ce genre de lien pas très parlant pour un visiteur. Alors je me suis dis que l'on pourrait mettre un nom de page comme id puis le hasher... mais c'est pas bcp plus explicite:
    http://www.monsite.com/page/page/loadPage/id/accueil

    C'est déjà un peu mieux. Mais ne serait-il pas possible d'avoir une lien du stye:
    http://www.monsite.com/page/accueil

    Le problème c'est que là il va simplement dans le module page puis le controller accueil et sa va bugger...

    Quelqu'un a-t-il une bonne solution à proposer?
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Il me semble qu'il est possible de définir des contrôleurs, modules et actions par défaut. Cela pourrait te donner :
    www.monsite.com/page/accueil (contrôleur "page", module "index" et action "index" avec le paramètre "accueil")
    Dans ton action, fais une recherche en base sur "accueil" pour retrouver ce dont tu as besoin. Attention, il te faut une contrainte UNIQUE sur ce champs sinon...

  3. #3
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Ok vais essayer... Dès que j'ai du nouveau je poste
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  4. #4
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Je viens de tester mais il me retourne une erreur (logique..)

    quand je met http://www.monsite.com/page/accueil il me dit controller invalide (login) car il prend page comme module et accueil comme controller et accueil n'est pas un controller...
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    je vais sans doute dire une betise, mais bon, au cas ou, je me lance...
    ici http://framework.zend.com/manual/fr/...r.introduction on peut creer nos propres routeurs (si j'ai bien lu) et shinter le shema classique, par defaut, que tu utilises. est-ce que la solution n'est pas la ?

  6. #6
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Oui mais je ne veux pas refaire le routage... Je veux garder mes url du type :module/:controller/:action
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    a mon avis, pour passer de ca:
    http://www.monsite.com/page/page/loadPage/id/4589

    a ca:
    http://www.monsite.com/page/accueil

    tu vas devoir re-router.

    ca:
    http://www.monsite.com/page/page/loadPage/id/accueil
    ca semble bcp plus simple. dans ton action loadPage, tu reussiras sans pb a recuperer la page a afficher.

    et tu dis que tu veux garder l'url du type module/controller/action. pourtant, dans ton 1er message, tu veux faire ca:
    http://www.monsite.com/page/accueil
    tu vires le l'action et le controler (ou le module)

    peut-etre que je comprends mal la question en fait

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    L'un des problèmes est que l'URL http://www.monsite.com/page/page/loadPage/id/accueil n'est pas du tout otimale. C'est même assez laid en fait

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    c'est etrange que la solution du 2ieme post ne fonctionne pas.
    pourquoi il voit "page" comme module et non pas comme controler par defaut
    a mon avis, ca doit etre possible.
    par contre, je ne suis pas sur de l'interet de cette methode par rapport a du re-routage.

  10. #10
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Citation Envoyé par bibile Voir le message
    c'est etrange que la solution du 2ieme post ne fonctionne pas.
    pourquoi il voit "page" comme module et non pas comme controler par defaut
    Parce que mon module s'appelle page et que le contrôleur s'appelle page... peut-être que je dois changer de nom

    Citation Envoyé par bibile Voir le message
    par contre, je ne suis pas sur de l'interet de cette methode par rapport a du re-routage.
    je dois garder la structure :module/:controller:/:action car je vais l'utiliser pour le reste du site, par exemple si qqun met son profil à jour sur le site ce sera www.monsite.com/user/profil/update/... c'est uniquement pour l'affichage des page que j'aimerais une autre url. Car les gens s'en tape pas mal de connaître l'url pour mettre un profil à jour par contre l'url d'une page sa c'est plus intéressant.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    autre idee: faire de l'url-rewriting dans le .htaccess, avant de tout rediriger vers le bootstrap.
    je ne sais pas si c'est possible. c'est juste une idee

  12. #12
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Ouais je pourrais rediriger en fonction de l'extension... si c'est des .html je redirige sur /page/page/loadPage/pageName/le_nom_de_la_page.html vais essayer...

    Merci.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  13. #13
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Je trouve encore que "page/page/loadPage" est une répétition à aviter absolument, tant point de vue utilisateur que référencement.

  14. #14
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    euh tu proposerais quoi alors ???
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/07/2015, 01h40
  2. Réponses: 1
    Dernier message: 02/10/2014, 18h37
  3. URL rewriting pour une URL sans fichier
    Par Kentin64 dans le forum Apache
    Réponses: 3
    Dernier message: 17/04/2013, 11h10
  4. Réponses: 5
    Dernier message: 20/05/2005, 11h33
  5. Quel langage pour une meilleure portabilité Win/Linux
    Par darkervein dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/04/2005, 14h59

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