codeigniter 中的奇怪 link 行为
Strange link behavior in codeigniter
这是让我质疑自己理智的问题之一。我正在使用 php,codeigniter 框架,从 URL 中删除 index.php,并在 htaccess 中重写 mod。
我在这个地址
http://localhost/health/users/bob/progress/
我单击 link 将我带到
http://localhost/health/users/bob/progress/01-04-15
然后我点击 link 返回
http://localhost/health/users/bob/progress/
奇怪的是。我单击之前带我到
的相同 link
http://localhost/health/users/bob/progress/01-04-15
但是,现在它带我去
http://localhost/health/users/bob/progress/progress/01-04-15
我现在已经完成了十几次这些步骤。这绝对是它给我的行为。当我进行全面刷新时甚至会发生这种情况。我实际上必须访问不同的地址,然后 return 才能在
获得 link
http://localhost/health/users/bob/progress/
再次正常工作。我猜它要么与 mod 重写有关,要么与 codeigniter 框架中的一些其他重写行为有关。
我猜你的 link 看起来像下面这样,因此它被附加到当前的 url
href="progress/01-04-15"
尝试使用绝对路径制作您的 link,最好在其后附加 base_url 或来自 codeigniter 的 current_url + progress/date.
href="http://localhost/health/users/bob/progress/01-04-15"
这样您每次都会得到正确的 link,而不是将其附加到当前 url。
我很确定您使用的是 link 的相对路径,类似于:
<a href="/somerelativepath">link here</a>
我建议您改用 CI 的 base_url,这样 link 就变成绝对值了:
<a href="<?=base_url()?>/nowabsolutepath">link here</a>
base_url 已在您的配置文件中设置。请告诉我们进展如何!
这是让我质疑自己理智的问题之一。我正在使用 php,codeigniter 框架,从 URL 中删除 index.php,并在 htaccess 中重写 mod。
我在这个地址
http://localhost/health/users/bob/progress/
我单击 link 将我带到
http://localhost/health/users/bob/progress/01-04-15
然后我点击 link 返回
http://localhost/health/users/bob/progress/
奇怪的是。我单击之前带我到
的相同 linkhttp://localhost/health/users/bob/progress/01-04-15
但是,现在它带我去
http://localhost/health/users/bob/progress/progress/01-04-15
我现在已经完成了十几次这些步骤。这绝对是它给我的行为。当我进行全面刷新时甚至会发生这种情况。我实际上必须访问不同的地址,然后 return 才能在
获得 linkhttp://localhost/health/users/bob/progress/
再次正常工作。我猜它要么与 mod 重写有关,要么与 codeigniter 框架中的一些其他重写行为有关。
我猜你的 link 看起来像下面这样,因此它被附加到当前的 url
href="progress/01-04-15"
尝试使用绝对路径制作您的 link,最好在其后附加 base_url 或来自 codeigniter 的 current_url + progress/date.
href="http://localhost/health/users/bob/progress/01-04-15"
这样您每次都会得到正确的 link,而不是将其附加到当前 url。
我很确定您使用的是 link 的相对路径,类似于:
<a href="/somerelativepath">link here</a>
我建议您改用 CI 的 base_url,这样 link 就变成绝对值了:
<a href="<?=base_url()?>/nowabsolutepath">link here</a>
base_url 已在您的配置文件中设置。请告诉我们进展如何!