📅  最后修改于: 2023-12-03 15:21:52.213000             🧑  作者: Mango
如果你使用的是 CodeIgniter 框架,你可能已经注意到在 URL 中会出现 public
的字符串。这是因为 CodeIgniter 默认会将 index.php
放在 public
目录下作为入口文件,因此在 URL 中需要指定该目录。
然而,这样的 URL 看起来不太美观,而且也会影响 SEO。因此,我们需要从 CodeIgniter 中的 URL 中删除 public
目录。
以下是实现该功能的步骤:
将 .htaccess
文件中的以下代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/index.php/$1 [L]
修改为:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
这样,访问你的网站时就不需要在 URL 中指定 public
目录了。
打开 application/config/config.php
文件,将以下代码:
$config['index_page'] = 'index.php';
修改为:
$config['index_page'] = '';
如果你的网站是放在子目录下的,例如 http://example.com/myapp
,那么你需要在 .htaccess
文件中添加以下代码:
RewriteBase /myapp/
需要注意的是,将 myapp
替换为你自己的子目录名称。
通过以上步骤,你就可以从 CodeIgniter 中的 URL 中删除 public
目录了。
注意:在进行上述修改之前,请备份相关文件以应对万一。
参考文献: