我的程序在win环境下开发测试完成,一切都正常。
转到linux环境后
http://localhost/index.php?s=xxx
变成了
http://localhost/.php?=xxx
不是web和伪静态还有有代码替换掉了index问题,这个咋回事啊?
我的程序在win环境下开发测试完成,一切都正常。
转到linux环境后
http://localhost/index.php?s=xxx
变成了
http://localhost/.php?=xxx
不是web和伪静态还有有代码替换掉了index问题,这个咋回事啊?
|
xuhaoyangxJul 9, 2015
1
环境配置文件不给来看看??
|
|
MagicianJul 9, 2015
2
没有真像 上配置文件啊!
|
|
cz208209Jul 9, 2015
3
nignx?
|
|
frozenshadowJul 9, 2015
4
如果说nginx的话,nginx对pathinfo支持的不是太好,经常有莫名其妙的错误,也可能是我对nginx的配置不熟~
|
|
lmaqJul 9, 2015
5
没遇到过...
|
|
markmxJul 9, 2015
6
这么奇葩的问题。。第一次遇见!
|
|
minongbangJul 9, 2015
7
thinkphp的rewrite需要你在你网站的nginx配置里面加rewrite
如果你用yii2 或者kohana 就不存在这样的问题 |
|
8
ThinkPHP的识别CGI有问题。
ThinkPHP.php文件 改成下代码 if(!defined('_PHP_FILE_')) { if(IS_CGI) { //CGI/FASTCGI模式下 //$_temp = explode('.php',$_SERVER['PHP_SELF']); //define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/')); define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'], '/')); }else { define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'],'/')); } } |
|
9
78行左右改成这个。
|
|
10
实在是感谢dai3212347
问题已经好了,thinkphp居然有这种问题,我晕啊!!! |
|
realpgJul 9, 2015
11
thinkphp 用nginx的重写,url模式2 不需要修改框架文件
重写规则你没做好吧 |
|
12
@a2521298 无需修改thinkphp的任何脚本
nginx的重写规则: if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?s=/$1 last; } config.php: 'URL_MODEL' => '2', |
|
13
@realpg 是@dai3212347 说的这个问题,已经好了,不知道是不是框架缺陷。
|
|
realpgJul 9, 2015
15
@a2521298 无所谓什么webserver,肯定是有重写功能,把重写配置好而不是去修改框架本身的东西。否则版本迭代,或者出了重大BUG需要紧急升级时候,怎么办
|
|
g8287694Jul 10, 2015
17
和路由重写有关吧
|
|
zts1993Jul 10, 2015
18
thinkbug
|