ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式,系统默认的PATHINFO模式。
LNMP1.3 一键安装完成后,默认支持REWRITE,需要手动开启 PATHINFO。
第1步修改:php.ini文件
位置:/usr/local/php/etc/php.ini
搜索查找到:cgi.fix_pathinfo 配置项,默认为0,修改为1,开启 pathinfo 选项。
第2步修改:nginx的配置文件 (笔者使用的是虚拟域名配置文件:/usr/local/nginx/conf/vhost/*.conf)
找到 server 的配置选项:
默认只有 include enable-php.conf,请注释掉;
然后添加一行:include enable-php-pathinfo.conf
继续修改,在添加下面配置信息:
location ~ .php
{
set $path_info "";
set $real_sc
#如果地址与引号内的正则表达式匹配
if ($fastcgi_sc
#将文件地址赋值给变量 $real_sc
set $real_sc
#将文件地址后的参数赋值给变量 $path_info
set $path_info $2;
}
#配置fastcgi的一些参数
fastcgi_param sc
fastcgi_param sc
fastcgi_param PATH_INFO $path_info;
}
if (!-e $request_filename)
{
#地址作为将参数rewrite到index.php上。
rewrite ^/(.*)$ /index.php/$1;
#若是子目录则使用下面这句,将subdir改成目录名称即可。
#rewrite ^/subdir/(.*)$ /subdir/index.php/$1;
}
第3步:重启LNMP环境,配置生效。
2017年 第四步:更新
index.php
新增
define('__APP__', '');
define('__ROOT__', '');
这样样式就会正常加载
最佳答案