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

 PHP Discussion :

Lien qui bascule en prod


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Points : 123
    Points
    123
    Par défaut Lien qui bascule en prod
    Bonjour,
    Depuis peu, tout mes liens lancent l'environnement de prod. Lorsque j'arrive sur mon homepage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo(sfConfig::get('sf_environment'));
    vaut bien dev mais lorsque je clique sur un lien de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    link_to('Filtrer', '/entreprises/4');
    Le frontend_dev.php s'enlève de l'adresse et le sf_environment me retourne prod.

    Tout fonctionnait bien et je n'ai pas fait de grosse manipulation il me sembe. De mémoire, j'ai lancé un $php symfony cc. C'est tout.

    Et dans mon apps/frontend/config/settings.yml, ça semble bon...

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
      1 # You can find more information about this file on the symfony website:                                                                                                     
      2 # http://www.symfony-project.org/reference/1_4/en/04-Settings
      3 
      4 prod:
      5   .settings:
      6     no_script_name:         false
      7     logging_enabled:        false
      8 
      9 dev:
     10   .settings:
     11     error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
     12     web_debug:              true
     13     cache:                  false
     14     no_script_name:         false
     15     etag:                   false
     16 
     17 test:
     18   .settings:
     19     error_reporting:        <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?>
     20     cache:                  false
     21     web_debug:              false
     22     no_script_name:         false
     23     etag:                   false
     24 
     25 all:
     26   .settings:
     27     # Form security secret (CSRF protection)
     28     csrf_secret:            3e46f8ac0d82e0cb75c3f5b559fe71afe9b72eb2
     29 
     30     # Output escaping settings
     31     escaping_strategy:      true
     32     escaping_method:        ESC_SPECIALCHARS
     33 
     34     # Enable the database manager
     35     use_database:           true
    Mes recherches me parlent du module mod_rewrite de Apache, mais celui-ci est bien chargé.

    Une idée du problème ?

  2. #2
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Je soupçonnerai plutôt ton .htaccess. Tu l'as modifié récemment ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Points : 123
    Points
    123
    Par défaut
    Jamais touché ce fichier.

    Voila son contenu (web/.htaccess) :

    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
    20
    21
    22
      1 Options +FollowSymLinks +ExecCGI
      2 
      3 <IfModule mod_rewrite.c>
      4   RewriteEngine On
      5 
      6   # uncomment the following line, if you are having trouble
      7   # getting no_script_name to work
      8   #RewriteBase /
      9 
     10   # we skip all files with .something
     11   #RewriteCond %{REQUEST_URI} \..+$
     12   #RewriteCond %{REQUEST_URI} !\.html$
     13   #RewriteRule .* - [L]
     14 
     15   # we check if the .html version is here (caching)
     16   RewriteRule ^$ index.html [QSA]
     17   RewriteRule ^([^.]+)$ $1.html [QSA]
     18   RewriteCond %{REQUEST_FILENAME} !-f                                                                                                                                        
     19 
     20   # no, so we redirect to our front web controller
     21   RewriteRule ^(.*)$ index.php [QSA,L]
     22 </IfModule>
    Je comprends pas trop son fonctionnement. Quelque chose te semble louche ?

  4. #4
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Non, il est normal. Sauf erreur de ma part, il dit à peu près ceci :

    RewriteRule ^$ index.html [QSA]
    -> si l'url ne contient pas de requête (ex: www.monsite.fr), on va chercher www.monsite.fr/index.html

    RewriteRule ^([^.]+)$ $1.html [QSA]
    -> si l'url (ré-écrite, mais ici on s'en fiche) contient un nom sans '.', on ajoute l'extension html. Ex : www.monsite.fr/tagada devient www.monsite.fr/tagada.html

    RewriteCond %{REQUEST_FILENAME} !-f
    -> si l'url ré-écrite ne pointe pas sur un fichier html existant...

    RewriteRule ^(.*)$ index.php [QSA,L]
    -> ... on appelle www.monsite.fr/index.php

    Essaye d'activer les logs au niveau debug dans ton environnement de prod et examine les fichiers de log (après un php symfony cc), tu devrais voir à quel moment il effectue la redirection vers index.php.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Points : 123
    Points
    123
    Par défaut
    Je débute et je ne sais pas trop où se situe l'environnement de prod. J'ai suivi :
    http://blog.jetienne.com/2009/05/sym...g-in-prod.html mais pas de fichier log créé dans log/ je n'ai que frontend_dev.log.

    Par contre, j'ai essayé de suivre à nouveau le tuto de symfony-project et je viens de m'apercevoir que lorsque je tape cette url :
    http://localhost:8080/index.php
    ou
    http://localhost:8080

    Je tombe sur une erreur 404.

    Or dans mon routing.yml je redirige vers une page précise :

    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
    20
    21
    22
    23
    24
    # You can find more information about this file on the symfony website:
      2 # http://www.symfony-project.org/reference/1_4/en/10-Routing
      3 
      4 index_by_categorie:
      5     url: /entreprises/:categorie
      6     param: { module: entreprise, action: index }
      7 
      8 index:
      9     url: /entreprises
     10     param: { module: entreprise, action: index }
     11 
     12 # default rules
     13 homepage:
     14   url:   /
     15   param: { module: entreprise, action: index }
     16 
     17 # generic rules
     18 # please, remove them by adding more specific rules
     19 #default_index:
     20 #  url:   /:module
     21 #  param: { action: index }
     22 
     23 #default:
     24 #  url:   /:module/:action/*
    Après je sais pas si ça a un lien mais bon.

  6. #6
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Et si tu tapes http://localhost:8080/frontend_dev.php, qu'est-ce que tu as comme erreur ?

    Accessoirement, montre-nous le code dans { module: entreprise, action: index }, il y a peut-être un problème là-dedans.

Discussions similaires

  1. lien qui affiche dans un champs de texte
    Par tyarak dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/11/2005, 02h22
  2. Probleme avec un lien qui contien un apostrophe
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/10/2005, 14h16
  3. Un lien qui ouvre sur une page spécifique d'un fichier
    Par chpog dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/08/2005, 14h56
  4. CSS : un lien qui prend toute une ligne d'un tableau.
    Par pmithrandir dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 20/04/2005, 16h52
  5. Réponses: 3
    Dernier message: 01/12/2003, 13h14

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