我使用 CodeIgniter 已经有一段时间了,但主要是为了方便功能,例如国际化、cookie 和会话控制。我也喜欢它将我的观点与我的逻辑分开。我已经了解了诸如数据库访问之类的核心内容,这是人们使用 php 框架的核心原因之一,但我暂时还没有构建需要它的站点。
我找不到答案的一件事是关于相对路径。在我的 a 标签中,我总是放置完整的路径。例如
<a href="<?php echo '/' .$pageController . '/' . $pageMethod . '/' . $pageLanguage . '/home'; ?>">Home</a>
但是,我发现如果我只是把
<a href="home">Home</a>
只要我使用相同的控制器、方法和语言,它实际上就可以工作。我什至尝试过我的法语部分,它也有效。显然,要切换语言,我必须给出完整的路径。我认为这与 CI 无关,而是浏览器行为。
这种行为究竟是什么?当浏览器看到相对路径时,它是否查看当前路径,转到最近的 / 字符,删除它之后的所有内容并添加相对路径?我可以每次都指望这个吗?