|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() |
Salut,
J'ai un projet symfony. Pour l'instant, je le développe sur ma machine et tout fonctionne très bien avec des url comme http://monProjet/monApp_dev.php ou http://monProjet.dyndns.org/monApp_dev.php Mais j'ai un problème avec l'environnement de prod. je peux accéder à mon application via http://monProjet/monApp.php mais ensuite, lorsque je clique sur un lien, j'ai une erreur d'apache "Not Found" parce que symfony transforme les lien de /monApp.php/home vers /home et on dirait que apache ne s'y retrouve pas. J'ai vu dans settings.yml que je peux changer l'option "no_script_name" et la mettre à false dans prod comme dans dev. Après, ça marche. Mais le problème, c'est que en prod, je veux accéder à mon application avec uniquement http://monProjet et pas avoir besoin de spécifier http://monProjet/monApp.php. Si je fais http://monProjet (avec l'option no_script_name à false), j'y arrive et ça fonctionne mais les liens sont convertis en http://monProjet/index.php/home. Ce qui est mieux mais comment faire pour que http://monProjet/home fonctionne ? Merci d'avance Voilà mon virtualhost : Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Cela sent la salade de configuration !
En principe tu as dans web, en local deux fichiers qui sont créé pour lancer ton application. index.php qui permet de lancer en production sans le nom du fichier dans l'url <monApplication>_dev.php qui permet de lancer en mode développement. Dans un dossier web donné tu ne peux avoir qu'une application qui se lance sans le nom du fichier dans l'url. Ceci est géré par le fichier setting (pour index.php) et par le fichier .htaccess qui active l'url rewriting sur apache. Pour que tu puisses, sur ton serveur, avoir l'url sans le nom du fichier du dois avoir un fichier .htaccess pris en compte sur le serveur (le nom sous apache peut avoir été modifie) et tu dois avoir le module rewrite activé dans apache. Sans ces deux conditions, cela ne peut fonctionner.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() |
Merci pour ta réponse, aurais-tu un exemple de .htaccess qui ferait ça ?
|
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
lol
Le fichier de base fournit dans toutes les applications générées en symfony le fait. La preuve, cela marche sur ton poste. A priori, soit il n'est pas pris en compte sur ton serveur (non du fichier foireux), soit le module rewrite n'est pas activé sur le serveur. Il doit bien y avoir d'autres possibilités, mais explorons déjà les deux qui couvent plus de 95% des cas.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() |
Ah oui en effet, je n'avais pas vu ce fichier. C'est évoqué ici (http://www.symfony-project.org/getti...-Configuration) mais sans montrer la configuration du virtualhost pour que ça fonctionne.
Je vais laisser ça de coté pour le moment. |
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#7 | ||||
|
Membre du Club
![]() |
J'ai essayé de me baser sur le virtualhost que tu proposes. Mais ça ne fonctionne pas. http://monServer/index.php/client fonctionne mais avec http://monServer/client j'ai un Not Found...
Code :
Code :
|
||||
|
|
00
|
|
|
#8 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
As-tu vérifié que tu avais un module rewrite actif sur ton serveur apache ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#9 | |
|
Membre du Club
![]() |
Citation:
sudo a2enmod rewrite et redémarrer. Maintenant c'est bon, merci beaucoup ! |
|
|
|
00
|
|
|
#10 | ||||
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 146 ![]() |
J'ai justement le même problème en prod.
Lorsque j'entre : http://myservername/index.php/formations, ça marche mais quand je fais : http://myservername/formations, ça ne marche plus. J'ai vérifié, j'ai bien un mod_rewrite activé. Mon .htaccess est celui par défaut (je n'y ai pas touché) : Code :
Code :
|
||||
|
|
00
|
|
|
#11 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Avec un AllowOverride à None le .htaccess n'est même pas lu ... Il faut au moins FileInfo et Options comme valeurs en l'état (All pour être "tranquille").
(c'est le PathInfo - AcceptPathInfo on - qui doit permettre le fonctionnement de la première) |
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 146 ![]() |
Oui en effet, j'allais justement poster que j'avais trouvé la solution dans une autre discussion
Mais merci quand même ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com