在 codeigniter 中路由包含电子邮件的 URI
routing URI containing email in codeigniter
这是在用户控制器
中编写的电子邮件激活link
http://www.some.com/user/activate_user/user@gmail.com/90101001010
我想为此写路线。
我尝试了下面的那个,但是它
// USER POST
$route['user'] = 'user';
$route['user/activate_user/:any/:num'] = 'user/activate_user//';
错误
An Error Was Encountered
The URI you submitted has disallowed characters.
如果我运行这样的uri就好了
http://www.some.com/user/activate_user/activate_user/1111/90101001010
为什么不接受电子邮件 ID?
应该是:
$route['user/([\w+-]+)(\.[\w+-]+)*@([a-zA-Z\d-]+\.)+[a-zA-Z]{2,6}/(:any)']
整个字符串是一个没有分隔符或修饰符的正则表达式。您放置了定界符、修饰符,还使用了 ^
和 $
.
请检查您的配置文件,url 中允许使用哪些 uri 字符。默认情况下它看起来像:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
如果您需要进一步的需求,请访问 link Url Guideline by ellislab
转到config.php
查找$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
并添加$config['permitted_uri_chars'] = 'a-z 0-9~%.:_()@&\-!';
并停止和/或刷新服务器
替换这个
$route['user'] = 'user';
$route['user/activate_user/:any/:num'] = 'user/activate_user//';
有了这个
$route['user'] = 'user';
$route['user/activate_user/(:any)/(:any)'] = 'user/activate_user//';
已添加
这对我有用
config.php
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_@-';
router.php
$route['user/activate_user/(:any)/(:any)'] = 'user/activate_user//';
这有效
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_@-';
$route['user/activate_user/(:any)/(:any)'] = 'user/activate_user//'; –
这是在用户控制器
中编写的电子邮件激活linkhttp://www.some.com/user/activate_user/user@gmail.com/90101001010
我想为此写路线。
我尝试了下面的那个,但是它
// USER POST
$route['user'] = 'user';
$route['user/activate_user/:any/:num'] = 'user/activate_user//';
错误
An Error Was Encountered
The URI you submitted has disallowed characters.
如果我运行这样的uri就好了
http://www.some.com/user/activate_user/activate_user/1111/90101001010
为什么不接受电子邮件 ID?
应该是:
$route['user/([\w+-]+)(\.[\w+-]+)*@([a-zA-Z\d-]+\.)+[a-zA-Z]{2,6}/(:any)']
整个字符串是一个没有分隔符或修饰符的正则表达式。您放置了定界符、修饰符,还使用了 ^
和 $
.
请检查您的配置文件,url 中允许使用哪些 uri 字符。默认情况下它看起来像:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
如果您需要进一步的需求,请访问 link Url Guideline by ellislab
转到config.php
查找$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
并添加$config['permitted_uri_chars'] = 'a-z 0-9~%.:_()@&\-!';
并停止和/或刷新服务器
替换这个
$route['user'] = 'user';
$route['user/activate_user/:any/:num'] = 'user/activate_user//';
有了这个
$route['user'] = 'user';
$route['user/activate_user/(:any)/(:any)'] = 'user/activate_user//';
已添加
这对我有用
config.php
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_@-';
router.php
$route['user/activate_user/(:any)/(:any)'] = 'user/activate_user//';
这有效
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_@-';
$route['user/activate_user/(:any)/(:any)'] = 'user/activate_user//'; –