【发布时间】:2012-04-30 08:16:36
【问题描述】:
之前有人帮我解决了.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 页面。然后,如果我关闭浏览器并重新打开它,它会再次工作一次,然后做同样的事情。我不知道这里发生了什么。当我输入这个时,我将我的基本 url 设置为http://localhost/Forum,即使这样也没有做任何事情。
更新
我编辑了我的 base_url 并解决了这个问题。最后我忘记了/。
【问题讨论】:
-
您在访问论坛并返回后检查过链接元素吗?还是就在您第一次测试之前?
-
您可以删除 .htaccess 文件并确保链接在实施之前有效吗?另外,您能否验证他们的链接是否在您的子页面中出现故障?您是否第二次验证了链接(当您将鼠标悬停在链接上时)?我很好奇第二次链接的内容是否类似于 localhost/forum/forum/site
-
@TheOx - 当代码为
<a href='".base_url()."'$record->name/'>时,我不小心检查了该元素。我更新了我的帖子以显示检查元素显示<a href="Site/">。但是当我点击站点,然后论坛,然后我再次检查所有内容时,一切看起来都完全一样。
标签: php .htaccess codeigniter url