在使用 CodeIgniter 开发网站时,默认情况下,URL 中会包含 index.php 文件。这对于用户来说可能会显得有些冗长,同时也不够美观。因此,我们可以通过一些设置来隐藏 URL 中的 index.php,使得 URL 更加简洁和友好。
要实现隐藏 index.php,我们需要进行以下几个步骤。第一步:修改配置文件首先,我们需要打开 CodeIgniter 的配置文件 config.php。该文件位于 application/config 目录下。找到以下代码行:$config['index_page'] = 'index.php';将其修改为:
$config['index_page'] = '';这样一来,就可以将 index.php 从 URL 中隐藏起来。第二步:配置 .htaccess 文件接下来,我们需要在项目根目录下创建一个名为 .htaccess 的文件。在该文件中,我们可以添加一些规则来重写 URL。以下是一个示例的 .htaccess 文件代码:
RewriteEngine OnRewriteBase /your-project-folder/RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L]请将 "your-project-folder" 替换为你的项目文件夹名称。这些规则将会重写 URL,并将请求发送到 index.php 文件中。第三步:启用 Apache 的 Rewrite 模块在上述步骤完成后,我们还需要确保 Apache 的 Rewrite 模块已启用。我们可以通过编辑 Apache 的配置文件来实现这一点。找到并编辑 apache2.conf 或 httpd.conf 文件,并取消以下行的注释(去掉前面的 #):LoadModule rewrite_module modules/mod_rewrite.so保存并重启 Apache 服务器,以使修改生效。案例代码以下是一个简单的示例控制器代码,我们将在其中演示隐藏 index.php 的效果。
defined('BASEPATH') OR exit('No direct script access allowed');class Welcome extends CI_Controller { public function index() { echo "欢迎来到我的网站!"; }}在完成上述步骤后,你可以通过访问以下 URL 来访问上述控制器中的 index 方法:http://example.com/welcome这样,就成功隐藏了 URL 中的 index.php。通过修改 CodeIgniter 的配置文件和添加适当的 .htaccess 规则,我们可以轻松地隐藏 URL 中的 index.php。这样可以提升网站的用户体验和美观程度。记得在修改配置文件和创建 .htaccess 文件后,还需要启用 Apache 的 Rewrite 模块才能让这些设置生效。希望本文对你在 CodeIgniter 中隐藏 index.php 有所帮助!