之前我曾有人帮我解决.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并解决了问题。我最后忘记了/
。
答案 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