这是我的网站:

xxx.myserver.net

在本网站中,我想路由控制器,这意味着当我链接Ththis type URL时:

xxx.myserver.net/aaaaa

我想将其重定向到我想要的TAHT的控制器中,这意味着我想重定向到:

xxx.myserver.net/index.php/controller-name/funation-name/aaaaa

我想仅通过使用CodeIgniter URI路由方法就可以在不使用HTACCESS方法的情况下完成此操作。

当我尝试执行此操作时,我会收到一条错误消息:

Not Found

The requested URL  not found on this server.

这是我在routes.php页面中提供的代码:

$route['/(:any)'] = "xxx.myserver.net/index.php/controller-name/funation-name/$1";

我的代码中有什么问题?

我怎样才能做到这一点 ?

有帮助吗?

解决方案

如果不使用 .htaccess 文件。从高水平来看 .htaccess 文件将通过Codeigniter Front Controller将所有请求路由到您的域 index.php 在您的根目录中文件。这里是 文档 这解释了如何创建 .htaccess 文件和删除 index.php 从URL起作用。用解释说,它指出了如何将任意请求视为 index.php 文件。

当您要求 xxx.myserver.net/aaaaa Web服务器正在搜索资源 aaaaa 在你的根部。该请求甚至没有由CodeIgniter处理。由于您没有标题为 aaaaa 您正在收到错误。

使用Codeigniter无需 .htaccess 您需要通过每个请求的文件 index.php. 。例如:

xxx.myserver.net/index.php/aaaaa

然后,您可以这样创建您的路线:

$route['(:any)'] = 'controller_name/function_name/$1';

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top