只能导航到一次页面,然后我会收到404

时间:2012-04-18 20:34:56

标签: php .htaccess codeigniter url

之前我曾有人帮我解决.htaccess问题,以便我可以从网址中删除index.php。然而,虽然这似乎有效,但我不确定它是否完全有效,除非它是我做错的事情(可能是PHP / CI / WAMP的新手,本周五开始写作)。

我在Windows 7计算机上使用CI和WAMP。这是我的.htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|css)
RewriteRule ^(.*)$ index.php/$1 [NC,L]

我去看网站的基本网址是:

localhost/forum/

我的顶部有一些菜单项。其中一个是Forum,当它写出来时,链接是:

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

我的配置文件中没有设置base_url。但当我将鼠标悬停在链接上时,会显示:

localhost/Forum/

当我检查Chrome中的元素时,它会显示:

<a href="http://localhost/Forum/">

我有一个div,它是一个子论坛的链接。在html中,它写成:

<a href='$record->name/'>

当我将鼠标悬停在div上时,表明它会转到:

localhost/Forum/Site/

当我检查元素时,它会说:

<a href="Site/">

现在,在那里,我可以启动Mozilla或Chrome,点击网站,它会转到我想要的地方。然后我可以点击论坛,它会回来。但如果我再次点击网站,它将转到404页面。然后,如果我关闭浏览器并将其重新打开,它将再次运行一次,然后执行相同的操作。我不知道这里发生了什么。当我输入这个时,我将我的基本网址设置为http://localhost/Forum,甚至没有做任何事情。

更新

我编辑了我的base_url并解决了问题。我最后忘记了/

1 个答案:

答案 0 :(得分:0)

请改用site_url()base_url()主要用于链接到Javascript和CSS等媒体。

<a href="<?= site_url('forum'); ?>">Forum</a>

<a href="<?= site_url('forum/' . $Category->CategoryID . '/' . url_title($Category->Title)); ?>"><?= $Category->Title; ?></a>

有关详细信息,请参阅http://codeigniter.com/user_guide/helpers/url_helper.html

HTH