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

本文另外刊登于我的部落格: Hankz Blog

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

一、开启伺服器的mod_rewrite

这边我以Apache作为範例
开启httpd.conf,找到这行:#LoadModule rewrite_module modules/mod_rewrite.so
http://img2.58codes.com/2024/20139878y1uX4Whiiu.png
我们要取消注解,所以将这行前面的#去除
并重新启动Apache

二、 确认mod_rewrite是否启用

运行php函式phpinfo(),并开启该画面后
搜寻mod_rewrite
http://img2.58codes.com/2024/20139878RW82EbATwl.png
只要在loaded modules栏位内有找到mod_rewrite就代表启用成功

三、 编辑.htaccess档案

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

RewriteEngine onRewriteCond $1 !^(index\.php)RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond $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


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章