早些时候,我有人帮助我解决了.htaccess
问题,以便我可以从 url 中删除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 页面。 然后,如果我关闭浏览器并重新打开它,它将再次工作一次,然后做同样的事情。 我不知道这里发生了什么。 当我输入这个时,我将我的基本 url 设置为 http://localhost/Forum
即使这样也没有任何作用。
更新
我编辑了base_url并解决了问题。 最后我忘记了/
。
改用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。
呵呵