首页  >  文章  >  后端开发  >  如何从 CodeIgniter 中的 URL 中删除“index.php”?

如何从 CodeIgniter 中的 URL 中删除“index.php”?

Linda Hamilton
Linda Hamilton原创
2024-11-13 03:31:02240浏览

How to Remove

CodeIgniter htaccess 和 URL 重写问题

问题:

对于使用 CodeIgniter 的初学者,删除“index.php”在访问“about”等页面(例如“localhost/ci/about”)时从 URL 获取信息仍然难以捉摸。尽管尝试了配置并寻找解决方案,但仍然没有实现所需的功能。

答案:

要解决此问题并清理 URL 重写,请按照以下步骤操作:

1。 application/config.php 中的配置:

  • 将 $config['base_url'] 设置为 CodeIgniter 安装的实际 URL。
  • 设置 $config['index_page' ] 为空字符串 ''。
  • 将 $config['uri_protocol'] 设置为 'AUTO'。

2.根目录中的 .htaccess:

在 CodeIgniter 安装的根目录中创建一个 .htaccess 文件,其中包含以下内容:

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

3.在 Apache 中启用重写引擎(如果尚未启用):

  • 运行 a2enmod rewrite 以启动重写模块。
  • 编辑 /etc/apache2/sites-enabled/ 000-default 并将所有“AllowOverride None”更改为“AllowOverride All”。
  • 使用 sudo /etc/init.d/apache2 restart 重新启动 Apache。

完成这些步骤后,您现在应该能够访问 URL 中没有“index.php”的页面。例如,“localhost/ci/about”应该成功加载“about_page.php”视图。

以上是如何从 CodeIgniter 中的 URL 中删除“index.php”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn