htaccess 重写 URL 不适用于 codeigniter 代码

2023-12-25

我正在尝试重写 URLS,以便 /foo -> index.php。

index.php 由 codeigniter 3 提供支持。 bar.php 是一个独立的 php 文件。

这是我的 .htaccess 中的片段:

//Test 1. Bar.php displayed. This works as exptected. 
RewriteRule ^/?foo1/?$ /bar.php [QSA,L] 


//Test 2. Redirects succesfully to index.php. Works as expected.
RewriteRule ^/?foo2/?$ /index.php [R=301,QSA,L]    


//Test 3. Goes to codeigniter 404 page and does NOT display the homepage. 
Does not work as expected
RewriteRule ^/?foo3/?$ /index.php [QSA,L] 

为什么测试 3 没有按预期显示?我的 codeigniter 代码中的某些内容在尝试重写 URL 时不起作用。任何想法如何解决这一问题?有解决方法吗?

全面披露:长期目标是能够拥有一个具有如下结构的 URL: example.com/foo1/foo2/foo3/?query1=xxxx&query2=yyyy 重写为 example.com/bar/bar1.php?queryA=foo2&queryB=foo3&query1=xxxx&query2=yyyy

这可以在 codeigniter 框架(route.php)而不是 htaccess 中“轻松”完成吗?从开发时间的角度来看,通过 .htaccess 使其工作将是首选。


看一眼https://gist.github.com/keithmorris/3023560 https://gist.github.com/keithmorris/3023560

这包括我在所有项目中使用的相当标准的 htaccess 文件。然后,您可以使用 CI 路由功能来定义不同位的去向。

记住CI你可以通过额外的url 中的元素,例如 example.com/foo1/foo2/foo3/query1/query2。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

htaccess 重写 URL 不适用于 codeigniter 代码 的相关文章

  • PHP7.1上读取会话数据失败

    分享一个我遇到的问题 现已解决 在我的开发机器上 我使用 PHP 运行 IIS 我升级到 PHP7 突然我的代码不再工作 返回此错误 session start 读取会话数据失败 用户 路径 C WINDOWS temp 看起来像是权限问题
  • 显示带有 id 的内部连接的名称[重复]

    这个问题在这里已经有答案了 我有这个查询 select from countrysegments inner join country on countrysegments country id country id inner join
  • 动态重新定义 PHP 类函数?

    我试图弄清楚如何动态导入大量 PHP 类函数 例如 class Entity public function construct type require once type functions php person new Entity
  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • PHP 可以解压缩使用 .NET GZipStream 类压缩的文件吗?

    我有一个 C 应用程序 它与基于 PHP 的 SOAP Web 服务进行通信以进行更新和许可 我现在正在开发一个反馈系统 供用户通过软件自动提交错误和跟踪日志 根据我之前发布的问题 我认为 Web 服务将是实现此目的的最佳方法 最有可能以最
  • 如何在 Yii2 应用程序中显示多个选择下拉列表中的选定值?

    我正在研究 Yii2 我正在使用这样的自定义数组创建多个选择下拉菜单 在控制器文件中 all groups Groups find gt where group created by id gt orwhere new Expression
  • 根据product_id获取magento产品的浏览次数

    我想在 Magento 的类别列表页面上显示查看计数 这些数据看起来过去可以通过 reports product collection 访问 但我找不到正确访问它的方法 我基本上想提供一个产品 ID 并获取返回给我的所述产品的观看次数 您可
  • .htaccess 用问号“?”重写 URL仅适用于 1 个特定 URL

    几周前我已经开始了一个话题 但我现在遇到了一个与旧问题非常相似的新问题 htaccess 用问号 重写 URL https stackoverflow com questions 18543194 htaccess rewrite url
  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • 计算帖子中使用 WordPress 短代码的次数

    我有以下 WordPress 短代码功能 function wp shortcode static i 1 return i i return return add shortcode shortcode wp shortcode 这很好用
  • Symfony2 实体字段在选项为空时显示所有条目

    我的 Symfony2 项目中有一个实体类型表单字段 builder this gt createFormBuilder projects this gt getProjects builder gt add project entity
  • 不区分大小写的 array_unique

    我正在尝试编写几行代码来创建一个不区分大小写的数组唯一类型函数 这是我到目前为止所拥有的 foreach topics as value lvalue strtolower value uvalue strtolower value if
  • SQL 查询结果为字符串(或变量)

    是否可以将SQL查询结果输出到一个字符串或变量中 我的php和mysql不好 假设我有数据库 agents 其中包含列 agent id agent fname agent lname agent dept 使用此查询 sql SELECT
  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • .htaccess:“重定向永久”并回退到“RewriteRule”

    我有一个网上商店 我们可以在其中切换子目录 从 shop 到根 一些产品和类别名称也发生了变化 我想将一些特定的 URL 重定向到较新的 URL 例如 www domainname de shop product abc to www do
  • ElasticSearch 和 PHP 中的多个字段搜索

    我正在使用最新版本弹性搜索 PHP https github com elasticsearch elasticsearch php以及最新版本的 MongoDB 和 ElasticSearch 我需要对可以包含一个或多个值的多个字段进行搜
  • 从 URL 任何文件类型创建图像

    我知道imagecreatefromgif https www php net manual en function imagecreatefromgif php imagecreatefromjpeg https www php net
  • Laravel 4.2 Composer 安装错误:“无法扫描类”

    我想通过 Composer 在新的 Laravel 4 2 安装上安装一些软件包 但是 我遇到了例外 这是我的作曲家文件 name laravel laravel description The Laravel Framework keyw
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但

随机推荐