thinkphp框架在nginx环境下index.php路径为什么不显示
1个回答
展开全部
协助用户将apache下的一个网站迁移到nginx环境中,结果发现用户用的ThinkPHP框架做的开发,默认用的pathinfo。
这是一个很头疼的问题,因为nginx不支持pathinfo,贸然一并打开也担心不安全。
于是查询资料后整理如下:
找到applications/Conf/的配置文件 config.php
return array(
'URL_MODEL'=>2, //关于URL更多说明请参考Tinkphp/Common/convention.php
);
复制代码
配置 Nginx.conf
在你的虚拟主机下添加
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
复制代码
如果你的项目入口文件在一个子目录内则
location /目录/ {
if (!-e $request_filename){
rewrite ^/目录/(.*)$ /目录/index.php/$1 last;
}
}
这是一个很头疼的问题,因为nginx不支持pathinfo,贸然一并打开也担心不安全。
于是查询资料后整理如下:
找到applications/Conf/的配置文件 config.php
return array(
'URL_MODEL'=>2, //关于URL更多说明请参考Tinkphp/Common/convention.php
);
复制代码
配置 Nginx.conf
在你的虚拟主机下添加
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
复制代码
如果你的项目入口文件在一个子目录内则
location /目录/ {
if (!-e $request_filename){
rewrite ^/目录/(.*)$ /目录/index.php/$1 last;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询