【发布时间】:2017-12-22 12:36:37
【问题描述】:
如何从我的基本 URL 中删除路由段?例如,我的 routes.php 中有这些路线:
$route['default_controller'] = 'main_controller';
$route['users'] = 'user_controller';
$route['user/(:num)'] = 'main_controller/user/$1';
它们都被正常路由,但是在由
user() 方法所有生成的链接(对于 .js、.css、.png 文件等)在基本 URL localhost/domain_name 和文件路径(例如 css/style.css)之间插入了 user/,所以所有这些链接(如您所料)都返回 404 并且页面格式不正确。
如果您需要有关相关代码的更多信息,只需评论您需要的内容,我会添加它。提前致谢。
编辑:如果有任何帮助,视图中的echo base_url(); 会打印出http://localhost/domain_name/。
【问题讨论】:
-
在视图文件中,调用绝对路径(即
/css/style.css)。 -
@Tpojka 但是现在它不会自动添加基本 URL 了吗?
-
您必须在基本网址的末尾设置方案,并在末尾设置正斜杠(即
$config['base_url'] = 'http://localhost/domain_name/)。 -
你设置并试过了吗?您应该不会遇到正确设置 base_url 的问题。
-
这是您的评论之一:
$config['base_url'] = 'localhost/domain_name';这甚至与我在看到您的评论后提出的问题都不相近。我在分享我的经验。如果没有设置完全限定的 URL 路径,这意味着scheme+host+path+trailing slash我能够注意到类似的问题。您可以检查的另一件事是浏览器缓存:关闭所有浏览器窗口并重试,但在私人模式下。这样你就应该确定没有缓存页面。
标签: php codeigniter url-routing