这是我的网站网址:
xxx.myserver.net
在这个网站中,我想路由控制器,这意味着当我链接这个类型url:
xxx.myserver.net/aaaaa
我想将它重定向到我想要的控制器,这意味着我想重定向到:
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";
我的代码中有什么问题?
我该怎么做?
答案 0 :(得分:1)
如果不使用.htaccess
文件,则无法执行此操作。从较高层面来看,.htaccess
文件的目的是通过CodeIgniter前端控制器(根目录中的index.php
文件)将所有请求路由到您的域。以下documentation解释了如何创建.htaccess
文件并从URL中删除index.php
。换言之,它说明了如何将任意请求视为index.php
文件的请求。
当您向xxx.myserver.net/aaaaa
发出请求时,Web服务器正在您的根目录中搜索资源aaaaa
。 CodeIgniter甚至没有处理该请求。由于您没有标题为aaaaa
的资源,因此您收到错误。
要在没有.htaccess
文件的情况下使用CodeIgniter,您需要通过index.php
传递每个请求。例如:
xxx.myserver.net/index.php/aaaaa
然后你可以这样创建你的路线:
$route['(:any)'] = 'controller_name/function_name/$1';