0

我正在使用 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,但这应该不是问题,不是吗?我会尝试再次检查基本网址。

4

2 回答 2

1

你确定你需要前导正斜杠吗?你有没有尝试过:

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

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

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

anchor(controllerName/functionName)

有关示例,请参阅CodeIgniter URL Helper

编辑:另外 - 您可能需要检查您的配置 base_url 设置为。如果有花哨的 .htaccess 发生,你的 base_url 需要正确设置。

于 2012-04-17T13:28:37.883 回答
0

有一个非常简单的解决方案,转到 config/constants 并在那里定义 SITE_URL 并将其值设置为

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

然后在这里像这样使用它。

<?php echo anchor(SITE_URL.'/profile', 'PROFILE'); ?>
于 2012-04-18T06:02:26.683 回答