在使用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问我!
微信支付常见问题及解决办法
在uniapp中,使用picker multiSelector多列联动选择时,单独更新某列数据后,在前端没有显示,之前的写法:this.data_list[1]=[]; var aaa=[]; aaa.push(1); aaa.push...
类目价格标准备注商城小程序(小型)10-20万小型B2C/B2b商城,满足基本商城的所有功能商城小程序(中型)30-60万中型B2C/B2b商城,拥有类似淘宝、京东、拼多多的全部基本功能,可对接物流、仓储系统,支持高并发,安全性和稳定性...
nginx环境下php页面总是缓存刷新也不行的解决办法
在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={ "a":1, "b":2 } let new=old; new['c']=3;...
在实际工作中发现,有个编辑器每次保存或者修改后,都会自动在内容顶部和底部增加几行,烦人的很,一直找不到解决办法。后来发现原来是自己代码的问题。解决办法:内容在textarea中,不要换行不要写成:<textarea{content} ...
在使用idea旗下的产品,如intellij idea,php storm,web storm时,有的时候编辑前端页面JS,在换行时经常会自动出现个}大括号,这一点程序不是很智能,其实后边都已经有括号了。比如下图这样:那么如何解决这个问题呢...
宝塔系统相关问题解决方法