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 :

Ulr rewriting symfony avec Nginx [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 26
    Par défaut Ulr rewriting symfony avec Nginx
    Bonjour,

    J'ai un problème avec mes url, tous fonctionne bien quand je suis sur l'index.php mais dès que je passe sur le frontend_dev.php mes url sont générés comme ceci:

    mon-site.com/frontend_dev.php/inscription.html/aide.html

    à la place de :

    mon-site.com/frontend_dev.php/aide.html

    Et ce problème se répercute sur toute les pages qui ont un .php dans l'url.

    Je me demande si cela vient de symfony ou de mon serveur web.

    Mon serveur web est sur nginx, voici ma conf:

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    server {
       # en prime, redirection vers le www
       server_name mon-site;
       rewrite ^(.*) http://mon-site.com$1 permanent;
    }
     
    server {
       listen 80;
       server_name  mon-site.com;
     
       access_log  /var/log/mon-site/access.log;
       error_log  /var/log/mon-site/error.log;
     
       location / {
           root   /home/www/web;
           index  index.html index.php;
     
         #bloquer l’accès sans mot de passe
           auth_basic "Toute personne entrant sans autorisation s'expose a des poursuites judiciaires";
           auth_basic_user_file /etc/nginx/htpasswd;
     
     
           if (-f $request_filename) {
               expires max;
               break;
           }
     
     
           if ($request_filename !~ "\.(js|htc|ico|gif|jpg|png|css)$") {
               rewrite ^(.*) /index.php last;
           }
       }
     
       location /sf/ {
           root /var/symfony/data/web/;
           expires max;
       }
     
       location ~ \.php($|/) {
           set  $script     $uri;
           set  $path_info  "";
     
           if ($uri ~ "^(.+\.php)(/.+)") {
               set  $script     $1;
               set  $path_info  $2;
           }
     
           fastcgi_pass   127.0.0.1:9000;
     
           include /etc/nginx/fastcgi_params;
     
           fastcgi_param  SCRIPT_FILENAME  /home/www/web$script;
           fastcgi_param  PATH_INFO        $path_info;
       }
    }
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    Je ne connais pas ngnix et il m'étonnerait que tu trouves ici quelqu'un qui connaisse simultanément symfony et ngnix.

    Tu vas donc devoir fournir l'expertise ngnix toi même.

    Je n'ai jamais vu, ni entendu parler d'un comportement pareille dans symfony, ce qui ne veut pas dire qu'il ne puisse y arriver, même si, a priori, je ne vois pas comment le provoquer facilement (genre par une erreur de paramétrage dans un fichier de configuration.

    Par acquis de conscience fait une recherche pour voir si tu trouves un fichier dans ton application avec inscription.php qui s'y trouverais.

    As-tu un fichier inscription.php dans ton arborescence ? Où ?

    As-tu la possibilité d'essayer avec un bon vieux xamp ? Sur une machine virtuel ?

    Autant je ne pense pas que symfony puisse réécrire l'url de cette manière (mais n'en suis pas sur), autant je ne vois pas un moteur de page réécrire l'url à la volée, mais peut-être est-ce possible sur ngnix ?

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    ah mon avis c'est ici que ca va pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     if ($uri ~ "^(.+\.php)(/.+)") {
               set  $script     $1;
               set  $path_info  $2;
           }
    il va faire
    $script $uri $1

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 26
    Par défaut
    Donc si j'ai bien compris :
    $script => mon-site.com/frontend_dev.php
    $uri => /inscription.html
    $1 => /aide.html

    Merci d'avance pour vos réponse car je bloque totalement mais ce que je pense c'est que le problème vient de nginx.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    enlève la condition ou les premiers set ou essaye d'autre paramètre

    EDIT : t'as pas de fastcgi_param SCRIPT_FILENAME ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 26
    Par défaut
    Si j'ai cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fastcgi_param  SCRIPT_FILENAME  /home/www/web$script;

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par djfou Voir le message
    Si j'ai cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fastcgi_param  SCRIPT_FILENAME  /home/www/web$script;
    SCRIPT_NAME pardon

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 26
    Par défaut
    Merci beaucoup effectivement c'est bien ça ^^

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

Discussions similaires

  1. [URL Rewriting] erreur avec mod rewrite
    Par deny dans le forum Apache
    Réponses: 5
    Dernier message: 14/01/2008, 15h37
  2. Réponses: 2
    Dernier message: 13/12/2007, 14h45
  3. [URL Rewriting] Problème avec un paramètre
    Par antitrust56 dans le forum Apache
    Réponses: 11
    Dernier message: 07/11/2007, 18h40
  4. Réponses: 3
    Dernier message: 31/07/2007, 16h40
  5. [URL Rewriting] problème avec sous domaine
    Par Booyakha dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 16h31

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