jQuery Mobile的Codeigniter有时会返回错误的base_url()


Codeigniter with jQuery Mobile sometimes returns wrong base_url()

各位程序员,您好!

我目前正在开发一个移动版的网站。我们最初使用Codeigniter作为框架,但对于移动版本,我们也被要求使用购买的使用jQuery mobile的移动模板包。

问题:

通过转到其他页面(通过锚标签、按钮、ajax重定向等点击链接),以下页面上随机出现错误:

  • 断开的图像链接
  • 锚点标记上的href链接已断开
  • 转到错误的控制器(找不到页面)

我注意到,即使我添加了它的每个链接,链接也会更改为当前的完整URL。。

示例:

我在

http://localhost/m.mysite/dashboard

从我所在的页面,如果我点击

<a href="<?php echo base_url();?>home/login">

它将转到的URL将是

http://localhost/m.mysite/dashboardhome/login <!-- ERROR -->

但如果我再次刷新该页面,我将成功地看到没有断开的链接

http://localhost/m.mysite/home/login <!-- CORRECT -->

如果我刷新网站,错误就会消失。这是因为jQuery mobile只做haschange而不刷新每个页面吗?

为什么即使我添加了<?php echo base_url(); ?> 也会是这样

application/config/config.php中,我还确保我没有错过将我的基本url指示为http://localhost/m.mysite/

尝试site_url()而不是base_url(),也许会有所帮助。base_url()应该没有任何问题,但仍然存在。

还有一件事,可能是.htaccess文件中的其他内容导致重定向吗?您可以从/仪表板检查原始链接,只需将鼠标悬停在链接上,即可查看浏览器状态栏显示的内容。或者转到"查看源代码"。