【发布时间】:2020-10-09 14:51:43
【问题描述】:
我有一个Home.php 控制器和terms 方法。我有一个这样的网址:https://www.example.com/terms,它工作正常。
我的routes.php:
$route['default_controller'] = 'home';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['terms'] = 'home/terms';
现在,我需要将网址更改为:https://www.example.com/#/terms 注意中间的“#”。
我尝试将其添加到路由中,但没有成功:
$route['#/terms'] = 'home/terms';
当我打开https://www.example.com/#/terms时,上面的更改显示主页
但是,如果我将conifg.php 中提到的任何其他允许的字符$config['permitted_uri_chars'] 代替#,那么它可以正常工作:
$route['a/terms'] = 'home/terms'; // this works: https://www.example.com/a/terms
$route['2/terms'] = 'home/terms'; //this works: https://www.example.com/2/terms
我还在$config['permitted_uri_chars'] 中添加了#,但这也不起作用。一直只显示主页。
另外,谁能解释一下为什么 # 与 permitted_uri_chars 中的其他字符不一样?
控制器是Home.php,方法是terms()。使用 CodeIgniter 版本 3.1.11
谢谢!
编辑:
我想知道我是否可以使用 Codeigniter 的路由来实现它?或者也许是一些使用 .htaccess 的重写规则?
【问题讨论】:
-
为什么它被关闭为“重复”?我问我是否可以使用 codeigniter 的路由来做到这一点?
标签: php uri codeigniter-3