Php 没有Htaccess的Codigniter中的URI路由

Php 没有Htaccess的Codigniter中的URI路由,php,uri,redirect,codeigniter-2,Php,Uri,Redirect,Codeigniter 2,这是我的网站url: xxx.myserver.net 在此站点中,我希望路由控制器,这意味着当我链接此类型url时: xxx.myserver.net/aaaaa 我想将其重定向到我想要的控制器中,这意味着我想重定向到: xxx.myserver.net/index.php/controller-name/funation-name/aaaaa 我想在不使用htaccess方法的情况下通过使用codeigniter-uri路由方法来实现这一点 当我尝试执行此操作时,会收到一条错误消息:

这是我的网站url:

xxx.myserver.net
在此站点中,我希望路由控制器,这意味着当我链接此类型url时:

xxx.myserver.net/aaaaa
我想将其重定向到我想要的控制器中,这意味着我想重定向到:

xxx.myserver.net/index.php/controller-name/funation-name/aaaaa
我想在不使用htaccess方法的情况下通过使用codeigniter-uri路由方法来实现这一点

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

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前端控制器(根目录中的
index.php
文件)将所有请求路由到域。下面是说明如何创建
.htaccess
文件并从URL中删除
index.php
。换言之,它说明了如何将任意请求视为
index.php
文件的请求

当您向
xxx.myserver.net/aaaaa
发出请求时,web服务器正在您的根目录中搜索资源
aaaaa
。CodeIgniter甚至没有处理该请求。由于您没有标题为
aaaaaaa
的资源,因此收到一个错误

要在没有
.htaccess
文件的情况下使用CodeIgniter,您需要通过
index.php
传递每个请求。例如:

xxx.myserver.net/index.php/aaaaaa

然后,您可以创建如下路线:


$route['(:any)]='controller\u name/function\u name/$1'

我像这样设置$route['(:any)]='controller\u name/function\u name/$1';如果没有
.htaccess
,则无法执行此操作。您将路由配置文件与
.htaccess
的功能混淆。路由配置文件仅路由到控制器,而不是服务器上的实际文件(这是htaccess所做的)。您的意思是路由配置文件仅用于路由控制器而不是服务器路径?正确,您只将参数路由到控制器,而不是文件或任何类似的文件。