Codeigniter锚无法找到链接

时间:2012-04-17 07:29:58

标签: codeigniter anchor

我正在使用CodeIgniter设计网站,而我无法让锚点正常工作。

以下是我如何使用它。它在codeigniter中的应用程序的views文件夹中的文件中使用。

 <?php echo anchor('/profile', 'PROFILE'); ?>

我的目的是让锚点加载配置文件控制器,它位于codeigniter中的应用程序控制器中。但是,当我碰到链接时,它表示找不到该文件。

我自动加载了url帮助函数alreader,该文件中的其他函数正在运行,如site_url()

我不知道我错过了什么?你有任何建议吗?这是我与codeigniter的第二个项目,所以我还在学习。

编辑:是的,我遵循codeigniter中的命名约定,并且该文件具有索引功能。我尝试没有正斜杠,它仍然给出相同的结果。

这产生的HTML链接是localhost/profile。这是我应该做对的?因为对于codeigniter,它是url/controller/function。我做了一个mod重写来从url中删除index.php,但这应该不是问题,不是吗?我会再次尝试查看基本网址。

2 个答案:

答案 0 :(得分:1)

您确定需要领先的正斜线吗? 你试过了吗?

<?php echo anchor('profile', 'PROFILE'); ?>

如果您尝试进入控制器文件夹中的“profile”子文件夹,则只会使用斜杠。 当网址变得混乱时,帮助我的是在浏览器中键入我想要到达的路径的完整网址(以确保我没有获得404等)。从那里你可以从最后开始,然后回去看你错过了什么。

但是您通常希望从控制器名称开始并添加您正在调用的函数:

anchor(controllerName/functionName)

有关示例,请参阅CodeIgniter URL Helper

编辑:还 - 您可能需要检查配置base_url的设置。如果发生了奇特的.htaccess事件,你的base_url需要正确设置。

答案 1 :(得分:0)

有一个非常简单的解决方案去配置/常量并在那里定义SITE_URL并将其值设置为

http://localhost/myprojectname/index.php. 

然后在这里使用它。

<?php echo anchor(SITE_URL.'/profile', 'PROFILE'); ?>