首页 > 原创文章 > 软件开发 > 查看文章

CodeIgniter框架URL如果去掉index.php(真实有效)

所属分类:软件开发 来源: 丁老师原创 更新时间:2024-09-12 08:48 浏览: 8140 IP属地: 深圳

在使用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问我!

标签:

相关文章

目前有可以替代JetBrains的AI ID...

目前AI应用飞速发展,国内外各大厂商都推出了AI IDE(用于编程开发的编辑器),比如Cursor、Trae、Qoder、Copliot等。但就我们常用的开发工具来说,比如JetBrains旗下的Intellij IDEA、Websto...

php拼装sql语句,换行查询出错的问题解决

在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:$sql='id 10;' $sql=' and( status in(1,2,3,4,5) and id not in (select id fro...

Python中md5转16进制的方法

在Python中,如果要把md5值,转换为16进制,可以使用hashlib库的hexdigest方法。具体代码为:from hashlib import md5 secret = '123456789' print(md...

Composer self-update 更...

1. composer版本更新文档版本号:https://getcomposer.org/download中文网:https://docs.phpcomposer.com/03-cli.html#self-update英文网:https...

推荐文章

性价比最高的内网穿透方案

内网穿透,是指外网可以访问内网,没有固定IP的服务器,所以需要中间件来进行通讯,目前稳定成熟的中间件软件,要么价格太贵,要么就是只能使用标准服务,不能完全的定制化。那么,到底有没有一个性价比最优的方案呢?回答是肯定的,答案就是使用云服务器+...

FastAdmin btn-dialog按钮...

fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...

Mysql 1267 Illegal mix...

这个问题,用普通sql语句查询,好解决,把表的字符编码改为对应的就可以了。 但在使用视图查询时,比如select 'aaa' as type from xxx; select * from view where type=...

IDEA IDE换行自动显示的}括号如何去掉

在使用idea旗下的产品,如intellij idea,php storm,web storm时,有的时候编辑前端页面JS,在换行时经常会自动出现个}大括号,这一点程序不是很智能,其实后边都已经有括号了。比如下图这样:那么如何解决这个问题呢...