[CodeIgniter] 隐藏网址中的index.php

新手发文
Codeigniter如果不调整设定,网址中会自带index.php
为了符合MVC架构,通常会将它去除,以下是处理步骤:

一、开启服务器的mod_rewrite

这边我以Apache作为范例
开启httpd.conf,找到这行:#LoadModule rewrite_module modules/mod_rewrite.so
https://ithelp.ithome.com.tw/upload/images/20210726/20139878y1uX4Whiiu.png
我们要取消注解,所以将这行前面的#去除
重新启动Apache

二、 确认mod_rewrite是否启用

运行php函式phpinfo(),并开启该画面後
搜寻mod_rewrite
https://ithelp.ithome.com.tw/upload/images/20210726/20139878RW82EbATwl.png
只要在loaded modules栏位内有找到mod_rewrite就代表启用成功

三、 编辑.htaccess档案

找到codeigniter根目录内的.htaccess档案(若没有该档案则建立一个),并在档案内加入以下内容:

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|img|css|js|fonts|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

四、 修改config.php档案

找到application\config\config.php,并找到
$config['index_page'] = 'index.php';
并改成:
$config['index_page'] = '';

接下来你的网址就可以省略输入index.php了

五、环境

Windows 10
php 7.3.5
Apache 2.4.39
Codeigniter 3.1.6


<<:  egg(nodejs) 执行 shell script 动态增加 nginx server_name

>>:  Day19 参加职训(机器学习与资料分析工程师培训班),Python程序设计

day3 让我看看,什麽是Coroutine Scope

我想大家看到前一天的范例,应该会有这种感觉吧 唉呦,很猛嘛~ [coroutine]对呀,我超厉害的...

动态记忆体分配

先备知识: Linker Script 的撰写技巧 撰写 Linker Script 可以让编译器在...

Day 11. Coding style

前面讲完了物件导向的3大特性,那再来讲讲新手要如何写出好Code 首先对於不同的工程师,我觉得好的程...

day22 : TIDB on K8S (中)

今天就来使用TIUP布建TIDB看看吧,因为我环境会如同之前一样使用GCP,所以今天也一样会透过te...

Day 2:Golang 是什麽?

Golang 基本介绍: 是 Google 开发的静态编译程序语言,支援垃圾回收与并发,跟 C 的撰...