VPS侦探论坛

标题: lnmp1.5 安装后放thinkphp 3.2的项目后隐藏了域名URL后的index留下了.php导致无法正常访问 [打印本页]

作者: zhangning    时间: 2018-5-24 12:25
标题: lnmp1.5 安装后放thinkphp 3.2的项目后隐藏了域名URL后的index留下了.php导致无法正常访问
打开域名可以正常访问,但是跳转其它模块后,地址中的index.php被去掉的index只留下了.php导致不能正常访问[attach]5095[/attach]
作者: licess    时间: 2018-5-24 13:02
这个应该是程序上的问题,你可以自己看看源代码,源代码上输出的url就是不带index的
解决方法1: 修改php.ini 将里面的 cgi.fix_pathinfo=0 改成 cgi.fix_pathinfo=1 但会造成有安全问题
解决方法2:修改thinkphp 3的代码,编辑ThinkPHP/ThinkPHP.php 查找 if(IS_CGI)
将原来的
  1. if(IS_CGI) {
  2.             //CGI/FASTCGI模式下
  3.             $_temp  = explode('.php',$_SERVER['PHP_SELF']);
  4.             define('_PHP_FILE_',    rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
  5.         }else {
  6.             define('_PHP_FILE_',    rtrim($_SERVER['SCRIPT_NAME'],'/'));
  7.         }
复制代码


替换为
  1. if(IS_CGI) {
  2.             //CGI/FASTCGI模式下
  3.             //$_temp  = explode('.php',$_SERVER['PHP_SELF']);
  4.             //define('_PHP_FILE_',    rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
  5.             define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'], '/'));
  6.         }else {
  7.             define('_PHP_FILE_',    rtrim($_SERVER['SCRIPT_NAME'],'/'));
  8.         }
复制代码


就可以了
作者: shwanyu    时间: 2018-8-20 10:34
标题: 非常感谢! 我试试。
非常感谢军哥! 我试试。




欢迎光临 VPS侦探论坛 (https://bbs.lnmp.com/) Powered by Discuz! X3.4