在使用site_url('login')的网址为“abc.com/en/login/create_member”的网页上,会生成指向“abc.com/en/login/create_member”的链接,但所需的网址为“abc”的.com / EN /登录/“
我已经包含了我的routes.php文件中的链接代码和摘录
提前感谢您提供任何帮助。
代码:
<a class="link_grad_button" href="<?php site_url('login'); ?>">Login</a></div>
路线摘录:
$route[$prepended_lang.'login/(:any)'] = 'login/$1';
// URI like '/en/about' -> use controller 'about'
$route['^(en|br)/(.+)$'] = "$2";
$route['default_controller'] = 'landing';
// '/en', '/de', '/fr' and '/nl' URIs -> use default controller
$route['^(en|br)$'] = $route['default_controller'];
答案 0 :(得分:2)
您可以在链接上添加语言,例如
<a class="link_grad_button" href="<?php site_url('en/login'); ?>">Login</a></div>
因此,您在route.php上的当前表达式有效。即。
$route[$prepended_lang.'login/(:any)'] = 'login/$1';
或强>
只需从route.php表达式中删除$prepended_lang.
,如:
$route['login/(:any)'] = 'login/$1';
只有当你有一个像
这样的函数参数时,上面的表达式才有效site_url('login/index')
其中index用作(:any)
的参数,因此,如果您的网址仅为site_url('login')
,则必须添加:
$route['login'] = 'login';
在上面的表达之前。
实际上这两个表达式在route.php上不是必需的,但由于你的附加语言,这两个表达式似乎是强制性的。