Phalcon框架资产管理器:“/index.php”始终在资产路径中预先输入
问题描述:
我是phalcon框架的新手,但看起来很棒!Phalcon框架资产管理器:“/index.php”始终在资产路径中预先输入
最近我决定在我的项目中使用资产管理器,但发生了一个问题。 当我尝试输出增加的资产,它打印路径以“的index.php”前缀......
我把这个代码放到控制器的indexAction:
$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());
和内部使用伏到输出中的资产:
<head>
....
{{ assets.outputJs('commonJs')}}
</head>
<body>
...
{{ assets.outputJs('commoCss')}}
</body>
但打印输出似乎有点怪异:
我想我吨应打印路径等
<link rel="stylesheet" type='text/css' href='css/common.css'>
或
<script type='text/javascript' src='js/common.js'>
但它实际上输出这样的:
<link rel="stylesheet" type='text/css' href='/index.phpcss/common.css'>
..
<script type='text/javascript' src='/index.phpjs/common.js'>
,或者如果我设置路径在addJs像“/ JS /。 ..'而不是'js/...' 则输出为:
<script type='text/javascript' src='/index.php/js/...'>
我是新来的phalcon,我不知道我在做什么错误,以及如何删除输出路径中的前缀index.php。
有人可以帮助我吗?
仅供参考,我使用nginx的用php7.1 & FPM和我的nginx-site.conf就像下面,这是因为尔康文档几乎相同:
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;
}
}
答
在YOUT Nginx的配置,尝试将此行更改为fastcgi_index /index.php;
至fastcgi_index /;
。
找出决议。我必须删除或编辑由phalcon开发工具自动生成的config.php文件中的baseUri。 –