Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter路由作为子文件夹_Php_.htaccess_Codeigniter 3 - Fatal编程技术网

Php CodeIgniter路由作为子文件夹

Php CodeIgniter路由作为子文件夹,php,.htaccess,codeigniter-3,Php,.htaccess,Codeigniter 3,让我解释一下我的情况。我有一个项目,以创建博客与CodeIgniter作为一个SaaS。因此,多个用户可以用它创建他们的博客。现在我想给他们一个展示自己博客的机会,比如domain.com/name1、domain.com/name2等等 我的默认控制器是auth,负责与身份验证相关的任务。所以domain.com/name1通常尝试从auth controller中查找方法name1。但当我得到domain.com/name1或name2等时,我想从另一个控制器子文件夹调用loadblog方法

让我解释一下我的情况。我有一个项目,以创建博客与CodeIgniter作为一个SaaS。因此,多个用户可以用它创建他们的博客。现在我想给他们一个展示自己博客的机会,比如domain.com/name1、domain.com/name2等等

我的默认控制器是auth,负责与身份验证相关的任务。所以domain.com/name1通常尝试从auth controller中查找方法name1。但当我得到domain.com/name1或name2等时,我想从另一个控制器子文件夹调用loadblog方法

如何将此URL domain.com/name1重写为子文件夹控制器的loadblog方法和name1作为参数


提前感谢。

您可以利用控制器的“重新映射”功能进行动态路由

有关更多详细信息,请参考以下示例:

到目前为止您都尝试了什么?欢迎来到stackoverflow!请访问您是否尝试阅读手册?@Tiger我尝试在.htaccess上重写规则,但失败:我创建了一个控制器子文件夹。我知道通常情况下,name1应该是默认控制器的方法,但在这里,我想将其连接到我的子文件夹控制器的索引方法,name1应该是其参数。@Sparky,你能告诉我应该阅读文档的哪一部分吗?我尝试了重新映射,但仍然失败。我的默认控制器是auth,因此我在该控制器中使用了_remap函数,但它仅在domain.com/auth/anything中触发,而不是在domain.com/anything中触发。我希望你明白我的意思。谢谢你可以参考下面链接中提到的例子:嗨,谢谢你的回复。我已经通过编辑/config/routes.php解决了我的问题,首先我需要手动声明我的所有控制器路由,然后添加以下行,$route[':any']='subfolder/index/$1';所以domain.com/abc指向子文件夹控制器索引方法并将abc作为参数传递。我想我可以接受你的回答,因为它帮助我思考如何解决我的问题。再次感谢:很高兴能帮助你。感谢您确定了解决此问题的方法。