在使用PHP框架CI时,有个很恶心的地方就是他的URL需要带上index.php,比如我要建一个user模块,想要实现www.xxx.com/user/的效果,但是在CI框架下必须要www.xxx.com/index.php/user这样才能打开。
翻了下官方文档以及百度谷歌了下相关查询,网上的资料大多都不能用,全是虚假或过时了的信息,什么修改config,设置index_page为空,根本没用。经过丁老师的深入研究,发现了解决办法,什么都不用改,只需要3个步骤即可实现:
1.配置网站的nginx rule(宝塔直接在网站属性中设置):
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
2.在controller目录下增加php文件,User.php,代码如下:
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class User extends CI_Controller{
public function index(){
echo "user_Index";
exit;
}
}
3.打开config目录下的route.php文件,最底部添加两行:
$route['user']='user/index';
$route['user/(:any)']='user/$1';
大功告成!哪有那么复杂!有在使用CI框架中遇到难题的,尽管+v问我!
该问题指针对使用宝塔BT面板的同学。在日常开发微信小程序的过程中,突然发现很简单的一个图片调用报404错误了,检查URL是正确的呀,在浏览器中可以打开,并且检查了服务器文件夹,的确有这个文件,排除了缓存的可能,那么到底是什么问题造成微信...
在使用PHP开发的程序时,突然遇到错误,查看错误日志发现提示:Array and string offset access syntax with curly braces is no longer supported,这是怎么回事呢?...
在Flutter中,double.infinity和double.maxFinite看起来非常的相似,他们的区别是什么,分别在什么情况下使用呢?今天丁老师给你解答。如果从严格的面向数据角度来看,两者的区别在于double.maxFini...
在uniapp中,使用picker multiSelector多列联动选择时,单独更新某列数据后,在前端没有显示,之前的写法:this.data_list[1]=[]; var aaa=[]; aaa.push(1); aaa.push...
在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={ "a":1, "b":2 } let new=old; new['c']=3;...
1.字体列表及引用链接鸿蒙字体 - B 站400 字重 CSS://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css 500 字重 CSS://s1.hdslb.com/bfs/st...
微信公众号可以把官网的网页集成进去吗?想通过微信公众号实现打开公司网站的页面,具体要怎么实现呢?其实这个功能,可以通过微信菜单的方式来实现...
在开发微信小程序的过程中,生成的是带有logo的小程序二维码,并且这个二维码不是通用的二维码,而是只能用微信打开的专属二维码,如图:遇到这样一个需求,生成的二维码要方形的通用二维码,并且不能带有小程序的logo。这种该怎么实现呢?经过查询,...