Codeigniter4中的重定向问题

我已经完成了管理控制器,并将其放在名为“ Admin”的子文件夹中

Controller
  Admin
   -login.php

现在,我想通过写此文件的路由器文件来获取

$routes->get('admin','Admin/Login::index');

但是它向我显示“未找到”错误,并重定向到"http://localhost/admin"

是否可能存在某些.htaccess问题?

JINYAOLUHAIFENG 回答:Codeigniter4中的重定向问题

替换此

$routes->get('admin','Admin/Login::index');

使用

$routes->get('admin','Admin\Login::index');

还要确保在您的login.php中添加名称空间

namespace App\Controllers\Admin;
,

如果您保持CI4的目录结构完整,那么实际上您可以对Controllers,Models,Views等使用子文件夹。

例如app / Controllers / Admin / Login.php是放置Controller类的有效位置。确保在Login.php中添加适当的名称空间-名称空间App \ Controllers \ Admin;同样在路由中-$ routes-> get('admin','App \ Controllers \ Admin \ Login :: index');不用App \ Controllers前缀就可以工作,但是我从来没有对其进行广泛的测试,我认为以前某些版本的CI4中存在问题。

另一个问题可能是您的app / Config / App.php类。如果您未更改.htaccess文件(位于公共目录中的文件!)中的任何内容,则应将$ baseURL设置为您的公共目录地址-http://localhost/myproject/public/。或者,如果您希望简化操作,请设置虚拟主机。

只需添加一点-$ routes中的get()方法仅允许GET请求,这意味着如果您尝试发布某些内容(或使用任何其他HTTP请求方法),它将失败并重定向。

本文链接:https://www.f2er.com/3158309.html

大家都在问