lnmp1.5 安装后放thinkphp 3.2的项目后隐藏了域名URL后的index留下了.php导致无法正常访问
打开域名可以正常访问,但是跳转其它模块后,地址中的index.php被去掉的index只留下了.php导致不能正常访问 这个应该是程序上的问题,你可以自己看看源代码,源代码上输出的url就是不带index的解决方法1: 修改php.ini 将里面的 cgi.fix_pathinfo=0 改成 cgi.fix_pathinfo=1 但会造成有安全问题
解决方法2:修改thinkphp 3的代码,编辑ThinkPHP/ThinkPHP.php 查找 if(IS_CGI)
将原来的
if(IS_CGI) {
//CGI/FASTCGI模式下
$_temp= explode('.php',$_SERVER['PHP_SELF']);
define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp.'.php'),'/'));
}else {
define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'],'/'));
}
替换为
if(IS_CGI) {
//CGI/FASTCGI模式下
//$_temp= explode('.php',$_SERVER['PHP_SELF']);
//define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp.'.php'),'/'));
define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'], '/'));
}else {
define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'],'/'));
}
就可以了
非常感谢! 我试试。
非常感谢军哥! 我试试。
页:
[1]