Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 代码点火器路径“;mysite.com/$username";至;用户/配置文件/用户名“;_Regex_Codeigniter_Routes - Fatal编程技术网

Regex 代码点火器路径“;mysite.com/$username";至;用户/配置文件/用户名“;

Regex 代码点火器路径“;mysite.com/$username";至;用户/配置文件/用户名“;,regex,codeigniter,routes,Regex,Codeigniter,Routes,我想从“users/profile/username”加载用户配置文件,其中username与$username相同(不带$sign),如何定义此路由的规则 出于某种原因,我确实想在我的url中保留“$” 这意味着当键入mysite.com/$username时,CI会将此请求路由到mysite.com/users/profile/username(现在没有$sign,因为这只是为了确定请求是针对“username”的,而不是控制器)在配置中添加$ $config['permitted_uri_

我想从“users/profile/username”加载用户配置文件,其中username与$username相同(不带$sign),如何定义此路由的规则

出于某种原因,我确实想在我的url中保留“$”

这意味着当键入mysite.com/$username时,CI会将此请求路由到mysite.com/users/profile/username(现在没有$sign,因为这只是为了确定请求是针对“username”的,而不是控制器)

在配置中添加$

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-+$';
然而,这可能是安全漏洞

在途使用:

$route['mysite.com/(:any)'] = 'users/profile/$1'

使用此方法,您需要确保您拥有的任何其他路由都列在routes.php文件中,
$route['mysite.com/(:any)]='users/profile/$1'
之前,否则所有请求都将路由到那里。此$route['mysite.com/(:any)]='users/profile/$1'将用于此目的,但。。。如果我用它。。。我将强制所有控制器通过此“用户/配置文件”,我不想这样做。其中一个原因是,我在用户名之前有$sign,因为它会告诉系统这是一个用户名,所以请加载此配置文件。如果没有$codeigniter,它将作为对控制器或方法的调用。我希望你明白我的意思。我不希望有人有一个用户名,比如说“users”,因为这是我的类名?若一个字符串以$sign with开头,然后是text/num,其余的是username…所以若有人有用户名,比如说'users',这对codeigniter来说不会是一个问题,因为无论何时加载此配置文件,它都会像mysite.com/$users一样,在这种情况下CI知道向何处发送此请求当然是users/profile/users