Php Codeigniter不';找不到url抛出404错误

Php Codeigniter不';找不到url抛出404错误,php,codeigniter,url,routing,Php,Codeigniter,Url,Routing,我在codeigniter中有以下路径: $route['register/new/user/from=(:any)'] = "auth/user/register/index/$1"; $route['default_controller'] = "defaultcontroller"; $route['404_override'] = ''; 在我的控制器文件夹中也有这样的层次结构: auth |-------admin |-------member |-------us

我在codeigniter中有以下路径:

$route['register/new/user/from=(:any)'] = "auth/user/register/index/$1";
$route['default_controller'] = "defaultcontroller";
$route['404_override'] = '';
在我的控制器文件夹中也有这样的层次结构:

auth
   |-------admin
   |-------member
   |-------user
             |----register.php
             |----tester.php
当我尝试访问
http://host/index.php/auth/user/register/index/
http://host/index.php/register/new/user/from=www.google.com
它抛出404未找到错误

我该怎么办

$route['register/new/user/(:any)'] = "auth/user/register/index/$1";


您的URL格式本身存在问题;你应该规范化你的URL

不能在规范化URL的段中使用等于“=”的符号

可以在查询字符串中使用“=”符号

所以不是

http://host/index.php/register/new/user/from=www.google.com
(错误/未正常化)

尝试:

(正确:查询字符串)

或:

(正确但不推荐:URI编码字符串)

或:

(正确:分段)

您可以使用

$route['register/new/user/from/(:any)'] = "auth/user/register/index/$1";

如果代码在索引方法内,则可以使用此行代码:

$route['register/new/user/from/:any']=“auth/user/register/index/$1”


您应该将auth/user/register/index/$1更改为register/new/user/from/:anyregister/new/user/:any并使用段(4)

@ramin请验证我的回答是否是最好的
http://host/index.php/register/new/user/?from=www.google.com
http://host/index.php/register/new/user/from%3Dwww.google.com
http://host/index.php/register/new/user/from/www.google.com
$route['register/new/user/from/(:any)'] = "auth/user/register/index/$1";