最近做项目,用的TP3.2框架,在本地运行没问题的代码,传到服务器上,老是报Public模块加载不到
原因是:TP把Public资源目录当成了模块加载
解决办法:需要让服务器支持重写。
nginx的conf配置文件如下
#
# The default server
#
server {
listen 80;
server_name 你的域名;
root /你的目录;
index index.html index.htm index.php;
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
}