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

Symfony PHP Discussion :

nom des applications dans les URL


Sujet :

Symfony PHP

  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 420
    Points : 1 471
    Points
    1 471
    Par défaut nom des applications dans les URL
    Bonjour tout le monde.

    Je travaille sur un projet symfony 1.4, et je me retrouve confronté à un problème dont je ne parviens pas à déterminer la source.
    Le projet contient plusieurs applications (nous les appellerons app1, app2 etc... app1 étant l'application par défaut).

    Au niveau de mes urls, j'ai donc ceci en local :
    http://mondomaine/... (pour l'app1)
    http://mondomaine/app2/... (pour l'app2)
    http://mondomaine/app3/... (pour l'app3)
    ...

    Mais lorsque je teste sur le serveur de prod, ça ne fonctionne pas. Pour faire fonctionner mes pages, je suis obligé d'utiliser des urls de ce type :
    http://mondomaine/... (pour l'app1)
    http://mondomaine/app2.php/... (pour l'app2)
    http://mondomaine/app3.php/... (pour l'app3)
    ...
    (notez l'ajout des ".php" pour les applications supplémentaires)

    J'ai beau fouiller un peu partout, je n'ai pas moindre idée de l'origine du problème. J'imagine que ça doit être tout con, mais je n'arrive pas à poser mes yeux sur la solution...

    Je vous avoue que je suis bien tenté de jouer du .htaccess pour pallier au problème, mais le fait que ça fonctionne bien en local, mais pas en ligne fait que je préfère continuer à chercher la bonne raison.

    Merci de bien vouloir m'aider les gens !

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Une application c'est un fichier dans le dossier web de la forma application.php qui permet de la lancer.

    La première utilisation voit ce fichier ce faire appeler index.php, ce qui, avec l'aide du .htaccess permet de ce passe du nom du index.php dans l'url. Les autres doivent forcément avoir le fichier application.php dans l'url.

    Sauf à modifier toi même le .htaccess.

    En fessant attention à conserver le reste du routage.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 420
    Points : 1 471
    Points
    1 471
    Par défaut
    Citation Envoyé par Michel Rotta Voir le message
    Une application c'est un fichier dans le dossier web de la forma application.php qui permet de la lancer...
    On est bien d'accord pour tout ça.

    Citation Envoyé par Michel Rotta Voir le message
    Sauf à modifier toi même le .htaccess.
    Comme je l'ai dit, c'est bien ce que j'ai envie de faire, mais je ne peux m'empêcher de trouver étrange de ne pas avoir à toucher du tout au .htaccess pour ça fonctionne normalement en local.
    Je veux dire lors de la mise en ligne, je place évidemment sur le serveur le même .htaccess qu'en local.
    Mais du coup, pourquoi les ".php" ne sont pas nécessaire en local, mais le serait en prod ?

    Modifier le .htaccess pour parvenir à ce que je veux ne poserait aucun problème, mais ça ne répondrait pas à mon interrogation (et je déteste faire quelque chose sans comprendre pourquoi je le fais )

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    En fait, je ne vois pas comment il est possible que tu puisses utiliser des fichiers applicationX.php différents avec le .htaccess de base. Que ce soit en local où en distant, c'est irréalisable. Où alors, il faut que je revoie mes cours de configuration.

    Par contre, puis-je me permettre une question, pourquoi plusieurs applications ?

    Une suggestion, tu peux prévoir une url différente app1.monsite.fr, app2.monsite.fr pour les applications et prévoir des vhost différents pour chaque application, chacun ayant en fichier par défaut un appX.php différent, ce qui devrait être plus simple à mettre en œuvre qu'un système par apache.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 420
    Points : 1 471
    Points
    1 471
    Par défaut
    Citation Envoyé par Michel Rotta Voir le message
    Par contre, puis-je me permettre une question, pourquoi plusieurs applications ?
    Pour faire simple, le projet est séparé en 3 applications :
    • une application vitrine (qui affiche des données)
    • une application privée au sein de laquelle les utilisateurs vont avoir accès a plusieurs modules de gestion (des client pros)
    • et une admin (le fameux et traditionnel backend )


    En gros, je n'ajoute qu'une application de plus au cas d'école classique frontend/backend.

    Citation Envoyé par Michel Rotta Voir le message
    En fait, je ne vois pas comment il est possible que tu puisses utiliser des fichiers applicationX.php différents avec le .htaccess de base. Que ce soit en local où en distant, c'est irréalisable. Où alors, il faut que je revoie mes cours de configuration.
    Pour faire une analogie avec les situations habituelles, on peut considérer simplement une application frontend et une autre backend, ça ne changerait rien à la question.

    En local, j'ai donc bien
    http://mondomaine/... qui fonctionne pour le frontend
    et
    http://mondomaine/backend/... qui fonctionne également pour le backend

    Mais sur le serveur de prod, je suis obligé, pour le backend d'utiliser les urls de type
    http://mondomaine/backend.php/...

    Je précise que je n'ai jamais touché au htaccess de base.

  6. #6
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Honnêtement, je ne vois pas comment http://mondomaine/backend/... pourrait ce transformer en mondomaine/backend.php/... c'est ... impossible. Que cela marche ne me rassure en rien, au contraire.

    Par contre, ce que tu peux essayer (pas testé) consisterai à créer dans ton web directory, un dossier backend et un autre dossier prive. Dans ces dossiers tu y copierais tes backend.php et prive.php, les renommera en index.php et, enfin, modifiera l'accès au loader.

    Il est possible que cela fonctionne. Par contre, il faudra y recopier aussi les dossier css, et autres dossiers issus des plugins.

Discussions similaires

  1. utilisation des noms des variables dans les conditions
    Par ankhaline dans le forum SAS Base
    Réponses: 4
    Dernier message: 14/08/2010, 14h34
  2. Réponses: 1
    Dernier message: 10/06/2010, 08h03
  3. Réponses: 2
    Dernier message: 17/09/2009, 07h45
  4. Nom des pages dans l'URL
    Par Sam222 dans le forum IFrance
    Réponses: 4
    Dernier message: 28/05/2009, 23h55
  5. Cacher le nom des pages dans l'URL
    Par Prue dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 07/12/2005, 10h18

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