首页  >  文章  >  后端开发  >  如何从 CodeIgniter URL 中消除'index.php”:.htaccess 和 URL 重写指南

如何从 CodeIgniter URL 中消除'index.php”:.htaccess 和 URL 重写指南

Linda Hamilton
Linda Hamilton原创
2024-11-12 14:08:02178浏览

How to Eliminate

CodeIgniter htaccess 和 URL 重写问题

从 CodeIgniter 中的 URL 中删除“index.php”段对于初学者来说可能是一个常见的挑战。让我们深入研究一下涉及的步骤并解决潜在问题。

设置

要实现所需的 URL 结构,三个步骤至关重要:

  1. 编辑 application/config.php

更新以下配置设置:

$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/Your Ci folder_name';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
  1. 在根目录

将以下代码添加到.htaccess文件中:

RewriteEngine on
RewriteCond  !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]
  1. 启用重写引擎(如果尚未启用)

A. Apache Web 服务器

  • 使用命令行:a2enmod rewrite
  • 编辑 /etc/apache2/sites-enabled/000-default。
  • 将“AllowOverride None”更改为“AllowOverride All”。
  • 重新启动 Apache: sudo /etc/init.d/apache2 restart

故障排除

500 内部服务器错误:

  • 确保 .htaccess 文件放置在根目录中。
  • 检查 .htaccess 文件的语法.

仍然无法访问没有“index.php”段的页面:

  • 验证您是否已更新 application/ 中的配置设置config.php并正确创建了.htaccess文件。
  • 检查.htaccess文件的文件权限。它应该具有适当的写入权限。
  • 重新加载 Apache 配置: sudo /etc/init.d/apache2 reload

以上是如何从 CodeIgniter URL 中消除'index.php”:.htaccess 和 URL 重写指南的详细内容。更多信息请关注PHP中文网其他相关文章!

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