首页 > 后端开发 > php教程 > 尽管使用了 mod_rewrite,为什么我的 CodeIgniter URL 没有删除'index.php”?

尽管使用了 mod_rewrite,为什么我的 CodeIgniter URL 没有删除'index.php”?

Patricia Arquette
发布: 2024-12-26 01:18:09
原创
686 人浏览过

Why Aren't My CodeIgniter URLs Removing

从 CodeIgniter URL 中删除 index.php

您的目标是从 CodeIgniter URL 中消除“index.php”,但尽管启用了 mod_rewrite ,将 $config['index_page'] 设置为 '',并实现提供的 .htaccess 代码,问题持续存在。让我们调查一下潜在的原因。

首先,请确保在 Apache2 服务器配置中启用 mod_rewrite 并且 config.php 中的 $config['index_page'] 变量为空:

$config['index_page'] = "";
登录后复制

接下来,验证您的根 .htaccess 文件是否包含以下代码:

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

请注意.htaccess 代码可能会有所不同,具体取决于您的托管服务器。在某些情况下,会附加一个“?”最后一行末尾可能需要:

RewriteRule ^(.*)$ index.php?/ [L,QSA]
登录后复制

如果前面的步骤无法解决问题,请尝试以下操作:

  1. 启用 REQUEST_URI 协议: 将 $config['uri_protocol'] = "AUTO" 替换为 $config['uri_protocol'] = config.php 中的“REQUEST_URI”。
  2. 在开发过程中禁用 RewriteEngine:Apache2 的 RewriteEngine 会干扰 CodeIgniter 的开发环境。在开发过程中,通过注释掉 .htaccess 文件中的 RewriteEngine 行来暂时禁用它。
  3. 检查 .htaccess 权限: 确保 .htaccess 文件权限设置为允许 Apache2 修改它们。
  4. 清除缓存:关闭并重新打开浏览器或清除其缓存以确保新的 URL 结构已被识别。

以上是尽管使用了 mod_rewrite,为什么我的 CodeIgniter URL 没有删除'index.php”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板