这是让我质疑我的理智的问题之一。我使用php,codeigniter框架,在htaccess中使用mod重写从URL中删除index.php。
我在这个地址
http://localhost/health/users/bob/progress/
我点击了一个链接,将我带到
http://localhost/health/users/bob/progress/01-04-15
然后我点击链接,将我带回
http://localhost/health/users/bob/progress/
现在这是奇怪的事情。我点击之前带我去的相同链接
http://localhost/health/users/bob/progress/01-04-15
但相反,现在它带我去
http://localhost/health/users/bob/progress/progress/01-04-15
我现在已经完成了十几次这些步骤。这绝对是它给我的行为。它甚至发生在我完全刷新时。我实际上必须访问一个不同的地址,然后返回
获取链接http://localhost/health/users/bob/progress/
再次正常工作。我猜测它与mod重写有关,或者与codeigniter框架中的其他一些重写行为有关。
答案 0 :(得分:1)
我的猜测是你的链接看起来如下所示,因此它会被附加到当前网址
href="progress/01-04-15"
尝试使用绝对路径创建链接,最好使用来自codeigniter + progress / date的base_url或current_url附加链接。
href="http://localhost/health/users/bob/progress/01-04-15"
这样,您每次都会找到正确的链接,而不是将其附加到当前网址。
答案 1 :(得分:1)
我很确定你使用的链接的相对路径如下:
<a href="/somerelativepath">link here</a>
我建议您使用CI的base_url,以便链接变为绝对链接:
<a href="<?=base_url()?>/nowabsolutepath">link here</a>
在配置文件中设置了base_url。请告诉我们它是怎么回事!