📅  最后修改于: 2023-12-03 15:36:54.329000             🧑  作者: Mango
当你在使用 CodeIgniter 框架时,URL 中会包含 index.php
,例如:http://example.com/index.php/controller/method
。这样做虽然能让程序正常运行,但却不够美观。然而,你可以删除 index.php
,使你的 URL 更加美观和易读。
删除 index.php
有以下好处:
在使用 CodeIgniter 框架时,你需要启用 Apache Rewrite 模块。这个模块允许你使用 .htaccess
文件配置 URL 重写规则并删除 index.php
。
如果你的服务器运行的是 Apache 2.2 或者更早版本,你需要通过以下步骤启用 Apache Rewrite 模块:
sudo a2enmod rewrite
命令,回车。sudo service apache2 restart
命令,回车。如果你使用的是 Apache 2.4 或者更高版本,则无需执行以上步骤。Apache 2.4 已经默认启用了 Rewrite 模块。
在项目根目录下创建一个名为 .htaccess
的文件,并复制以下代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /your_project_folder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
将 your_project_folder
替换成你的项目文件夹名称。
打开 CodeIgniter 项目中的 application/config/config.php
文件,将以下代码中的 index.php
部分删除:
$config['index_page'] = '';
最后,你需要确认 mod_rewrite
已经被启用。你可以很简单地测试一下,手动在 URL 后面添加 /controller/method
。如果页面正常显示,则说明已经成功删除了 index.php
。
删除 CodeIgniter 中的 index.php
可以让你的 URL 更加美观和易读。通过启用 Apache Rewrite 模块、创建 .htaccess
文件、修改项目配置文件等步骤,你可以在不破坏程序原有结构的情况下轻松地实现这一目标。