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 :

[Routage] app_dev.php : bogue étrange [2.x]


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [Routage] app_dev.php : bogue étrange
    Bonjour,
    J'ai un petit problème de routing ou d'affichage du mode développeur depuis que j'ai installé SF2 puis supprimé le bundle de Acme puis installé FOSUSER.

    mon domaine est : test.dev

    test.dev/login affiche le formulaire de connexion
    test.dev/app_dev.php/login affiche une erreur «

    No route found for "GET in"
    404 Not Found - NotFoundHttpException
    1 linked Exception:

    ResourceNotFoundException »

    »
    "GET in" c'est "login" coupé.
    Ainsi pour l'url test.dev/app_dev.php/profile j'ai l'erreur
    No route found for "GET file"
    , la vue profile s'affiche bien en mode normale.

    Voici mon .htaccess :
    <IfModule mod_rewrite.c>
        Options +FollowSymlinks
        RewriteEngine On
    
        # Explicitly disable rewriting for front controllers
        RewriteRule ^/web/app_dev.php - [L]
        RewriteRule ^/web/app.php - [L]
    
        # Fix the bundles folder
        RewriteRule ^bundles/(.*)$ /web/bundles/$1  [QSA,L]
        RewriteCond %{REQUEST_FILENAME} !-f
        # Change below before deploying to production
        #RewriteRule ^(.*)$ /web/app.php [QSA,L]
        RewriteRule ^(.*)$ /web/app_dev.php [QSA,L]
    </IfModule>
    
    Voici le debug de mes routes :

    Code xxx : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    $ php app/console router:debug
    [router] Current routes
    Name                              Method   Host Pattern
    _wdt                              ANY      ANY  /_wdt/{token}
    _profiler_home                    ANY      ANY  /_profiler/
    _profiler_search                  ANY      ANY  /_profiler/search
    _profiler_search_bar              ANY      ANY  /_profiler/search_bar
    _profiler_purge                   ANY      ANY  /_profiler/purge
    _profiler_info                    ANY      ANY  /_profiler/info/{about}
    _profiler_import                  ANY      ANY  /_profiler/import
    _profiler_export                  ANY      ANY  /_profiler/export/{token}.txt
    _profiler_phpinfo                 ANY      ANY  /_profiler/phpinfo
    _profiler_search_results          ANY      ANY  /_profiler/{token}/search/results
    _profiler                         ANY      ANY  /_profiler/{token}
    _profiler_router                  ANY      ANY  /_profiler/{token}/router
    _profiler_exception               ANY      ANY  /_profiler/{token}/exception
    _profiler_exception_css           ANY      ANY  /_profiler/{token}/exception.css
    _configurator_home                ANY      ANY  /_configurator/
    _configurator_step                ANY      ANY  /_configurator/step/{index}
    _configurator_final               ANY      ANY  /_configurator/final
    homepage                          ANY      ANY  /
    bc_user_hello                     ANY      ANY  /hello/{name}
    fos_user_security_login           ANY      ANY  /login
    fos_user_security_check           ANY      ANY  /login_check
    fos_user_security_logout          ANY      ANY  /logout
    fos_user_profile_show             GET      ANY  /profile/
    fos_user_profile_edit             ANY      ANY  /profile/edit
    fos_user_registration_register    ANY      ANY  /register/
    fos_user_registration_check_email GET      ANY  /register/check-email
    fos_user_registration_confirm     GET      ANY  /register/confirm/{token}
    fos_user_registration_confirmed   GET      ANY  /register/confirmed
    fos_user_resetting_request        GET      ANY  /resetting/request
    fos_user_resetting_send_email     POST     ANY  /resetting/send-email
    fos_user_resetting_check_email    GET      ANY  /resetting/check-email
    fos_user_resetting_reset          GET|POST ANY  /resetting/reset/{token}
    fos_user_change_password          GET|POST ANY  /profile/change-password

    Voici le contenu de routing.yml :
    bc_main:
        resource: "@BcMainBundle/Controller/"
        type:     annotation
        prefix:   /
    
    bc_user:
        resource: "@BcUserBundle/Controller/"
        type:     annotation
        prefix:   /
    
    fos_user_security:
        resource: "@FOSUserBundle/Resources/config/routing/security.xml"
    
    fos_user_profile:
        resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
        prefix: /profile
    
    fos_user_register:
        resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
        prefix: /register
    
    fos_user_resetting:
        resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
        prefix: /resetting
    
    fos_user_change_password:
        resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
        prefix: /profile
    
    voici le contenu de routing_dev.yml :
    _wdt:
        resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
        prefix:   /_wdt
    
    _profiler:
        resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
        prefix:   /_profiler
    
    _configurator:
        resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml"
        prefix:   /_configurator
    
    _main:
        resource: routing.yml
    
    Pouvez-vous m'aider à corriger ce problème s'il vous plait ? Merci pour vos propositions.

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    moi je met ça dans routing.yml de APP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    fos_user_security:
        resource: "@FOSUserBundle/Resources/config/routing/security.xml"
     
    fos_user_profile:
        resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
        prefix: /profile
     
    fos_user_register:
        resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
        prefix: /register
     
    fos_user_resetting:
        resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
        prefix: /resetting
     
    fos_user_change_password:
        resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
        prefix: /change-password

    et j'ai pas de soucis !
    à tester pour ton cas, faute de meilleur réponse.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut pas de changement
    Merci pour ta réponse dukoid. le prefix /profile apparaissait deux fois sur le fichier de conf cf doc https://github.com/FriendsOfSymfony/...s/doc/index.md

    Ça ne marche toujours pas :-(

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut J'oublie un truc sur le htaccess
    Le problème viendrait peut être du .htaccess parce que j'utilise le module mod_vhost_alias de apache2

  5. #5
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    pour apache faut activer mode_rewrite

    .htaccess du dossier Web, j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <IfModule mod_rewrite.c>
        RewriteEngine On
     
        #<IfModule mod_vhost_alias.c>
        #    RewriteBase /
        #</IfModule>
     
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app.php [QSA,L]
    </IfModule>

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut mod rewrite
    Merci. Le mod rewrite est activé car test.dev/login marche sur firefox

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [Résolu] origine du probleme c'est le documentroot
    J'utilise dans mon installation le module mod_vhost_alias de apache2.

    En gros ça me sert à générer automatiquement des vhosts à partir de dossiers de projets que je crée sur mon répertoire de dev (lié au dossier www de apache). CF doc:
    http://akrabat.com/computing/automatic-apache-vhosts/

    Ex: je crée un dossier www/test/public où je place un fichier "index.php" affichant "ok"
    le module génère, via mes configs de VHOST et de DNS un nom de domaine accessible via mon réseau local nommé "test.dev" et qui affiche le contenu du dossier "public".

    Pour SF2 j'ai placé tout le contenu du site dans le dossier "public" ensuite j'ai redirigé les requêtes vers les contrôleurs frontaux /web/appX.php via le /test/public/.htaccess (contenu visible précédemment) et c'est pour cela que ça ne marchait pas.

    SOLUTION :
    J'ai tout simplement renommé mon dossier "/test/public/" en "/test/web" et redéfinit le documentroot. Pour SF2 "web" correspond au dossier "/web" du même niveau que "/app" ou "/src".

    Contenu du fichier /test/web/.htaccess pour SF2 :
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        <IfModule mod_vhost_alias.c>
            RewriteBase /
        </IfModule>
    
        RewriteCond %{REQUEST_FILENAME} !-f
        #RewriteRule ^(.*)$ app.php [QSA,L]
        RewriteRule ^(.*)$ app_dev.php [QSA,L]
    </IfModule>
    Ensuite j'ai modifié la config du VirtualDocumentRoot des vhosts automatiques "/etc/apache2/sites-enabled/000-default" :
    <Virtualhost *:80>
        ServerAdmin to@to.com
        VirtualDocumentRoot "/var/www/vhosts/%-2+/web"
        ServerName vhosts.dev
        ServerAlias *.dev
        UseCanonicalName Off
        LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
        ErrorLog "/var/www/vhosts/vhosts-error_log"
    </Virtualhost>
    J’espère que ça pourra aider quelqu'un dans le même cas que moi. Mille mercis à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] probleme http://localhost/Symfony/web/app_dev.php
    Par montis dans le forum Symfony
    Réponses: 1
    Dernier message: 13/02/2012, 10h08
  2. Silverlight et Php : comportement étrange
    Par boudit dans le forum Silverlight
    Réponses: 4
    Dernier message: 12/07/2011, 11h10
  3. erreur php très étrange suite changement serveur
    Par taka10 dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2007, 15h18
  4. [PHP-JS] étrange autocompletion capricieuse
    Par lodan dans le forum Langage
    Réponses: 9
    Dernier message: 22/08/2006, 16h01
  5. Php: str_replace étrange...
    Par Abused dans le forum Langage
    Réponses: 13
    Dernier message: 23/02/2006, 16h24

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