thinkPHP url生成问题

浏览:81 发布日期:2019/09/16 分类:ThinkPHP5专区
我正常的下载安装开发,却发现url()方法没有正常返回index.php。
环境是phpstudy2106里windows+nginx+php5.6
这是vhost配置:
server {
listen 80;
server_name www.four.com four.com;
root "C:/phpStudy/WWW/four_manage/public";
location / {
index index.html index.htm index.php;
#autoindex on;
#try_files $uri /index.php$uri;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param script_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
按设计,应该是url生成index.php/index/index/login,我才对这个url重写。

但是,我没有改过任何配置,也是直接不带index.php了,我想问是不是要设置什么?还是说默认就是生成 域名/index/index/login,没有任何说明。我跑thinkphp3.2是可以的,url模式设置一下为1就有了,不用我对服务器做额外设置。要重写,改为2,才是走重写规则。

但是thinkphp5,直接就没有index.php?我还找不到很多类似的问题,想问问大神有没有遇到过,怎么解决。

把我注释掉的#try_files $uri /index.php$uri; 打开倒是能用,但是,这个是错误后重新加上index.php来请求,url()生成的地址依然是不对的。

这是我的使用,应该是没错的。
// 验证是否登录
if (!session('uid')) {
$this->redirect('index/login');
}

结果就是404。地址栏是:http://www.four.com/index/index/login.html
最佳答案
评论( 相关
后面还有条评论,点击查看>>