2017-10-19 5 views
0

Je suis nouveau dans le framework phalcon mais ça semble génial!Phalcon framework Gestionnaire d'actifs: "/index.php" est toujours ajouté dans le chemin des assets quand il est

Récemment, j'ai décidé d'utiliser le gestionnaire d'actifs dans mon projet, mais un problème est survenu. lorsque je tente de sortir les actifs ajoutés, il imprime le chemin avec « /index.php » préfixé ...

Je mets ce code dans le indexAction du contrôleur:

$this->assets 
    ->collection("commonJs") 
    ->addJs('js/draggable.js') 
    ->addJs('js/common.js') 
    ->addFilter(new Phalcon\Assets\Filters\Jsmin() ); 

$this->assets 
    ->collection('commonCss') 
    ->addCss('css/material-icons.css',true,false) 
    ->addcss('css/common.css',true,true) 
    ->addFilter(new Phalcon\Assets\Filters\Cssmin()); 

et utiliser ceci à l'intérieur volt Ouput les actifs:

<head> 
.... 
{{ assets.outputJs('commonJs')}} 
</head> 
<body> 
... 
{{ assets.outputJs('commoCss')}} 
</body> 

mais la sortie imprimée semble un peu bizarre:

Je pense que je t doit imprime le chemin comme

<link rel="stylesheet" type='text/css' href='css/common.css'> 

ou

<script type='text/javascript' src='js/common.js'> 

mais il émet en fait comme ceci:

<link rel="stylesheet" type='text/css' href='/index.phpcss/common.css'> 
.. 
<script type='text/javascript' src='/index.phpjs/common.js'> 

ou si je mets le chemin dans les addJs comme «/js /. .. 'au lieu de' js/... ' alors la sortie est:

<script type='text/javascript' src='/index.php/js/...'> 

Je suis nouveau sur phalcon et je ne sais pas ce que je fais mal et comment supprimer index.php dans le chemin de sortie.

Quelqu'un pourrait-il m'aider s'il vous plaît?

Pour votre information, j'utilise nginx avec php7.1 & FPM et mon nginx-site.conf est comme ci-dessous, qui est presque identique à la documentation Phalcon:

server { 
     listen  80; 
     root /var/www2/public; 
     index index.html index.htm index.php; 

     # Make site accessible from http://localhost/ 
     server_name tpnew.dev; 

    error_log /usr/local/var/log/nginx/newtp.error.log; #debug; 
    log_not_found off; 


    location/{ 
     try_files $uri $uri/ /index.php?_url=$uri&$args; 
    # try_files $uri $uri/ @rewrite; 
    } 

location ~ \.php$ { 
    try_files  $uri = 404; 
    fastcgi_pass 127.0.0.1:9000; # php71 
    fastcgi_index /index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include  fastcgi_params; 

    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_param PATH_INFO  $fastcgi_path_info; 
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 
    fastcgi_param SERVER_NAME $server_name; 
} 
    location ~ /\.ht { 
     deny all; 
    } 

} 
+0

Trouvé la résolution. J'ai dû supprimer ou éditer baseUri dans le fichier config.php qui est généré automatiquement par les outils de développement phalcon. –

Répondre

0

Dans la configuration yout Nginx, essayez pour changer cette ligne fastcgi_index /index.php; à fastcgi_index /;.