【发布时间】:2011-04-05 21:04:09
【问题描述】:
我有一个 .htaccess 文件来删除 codeigniter 样式 URL 的 index.php 部分。它在一台计算机上运行良好,但是当我将文件复制到我的笔记本电脑时,它似乎没有做任何事情。我在两台机器上都使用 localhost。他们都使用捆绑的 apache 和 php 以及最新版本的 mysql 运行 mac osx 10.6。一切正常,只是 .htaccess 没有做它应该做的事情。有没有我可能在我的第一台机器上更改并忘记的任何设置?!
编辑: 我想知道我现在的 CI 设置是否有问题。如果我加载 base_url 即http://localhost/~User/project/ 然后它完美加载,添加 index.php。 我的配置文件有
$config['index_page'] = '';
但是,作为测试,我将此值返回给“index.php”。当我在此之后加载 base_url 时,它返回:http://localhost/~User/project/index.php/index.php/controller/method
这对任何人有什么建议吗?
【问题讨论】:
-
您是否检查了两台机器上文件的权限以确保它们匹配?您知道
.htaccess文件是否被解析,还是您只是遇到mod_rewrite问题? -
权限似乎都是正确的。如何确定文件是否正在被解析?
-
嗯,查看
mod_rewrite是否特别有效的一种简单方法是在.htaccess文件的顶部执行以下操作:RewriteRule ^ http://stackoverflow.com/ [R,L],然后在您访问时查看是否该站点,您将被重定向到 StackOverflow。如果可行,请发布您的.htaccess文件的内容,以便我们查看它们,看看还有什么问题,如果没有问题,mod_rewrite或 Apache 解析您的 @ 的能力确实有问题987654333@文件。 -
太好了,谢谢蒂姆。我已经尝试了您的建议,但它没有重定向。所以这意味着 httpd.conf 文件有问题,对吧?
-
嗯..听起来像。如果您不确定是否在主配置中启用了
Options +FollowSymLinks,请尝试在.htaccess的顶部添加Options +FollowSymLinks,但我怀疑这是这里的问题。您介意在您的问题中发布完整的.htaccess吗?这样更容易看出它是否有什么特别之处。 (另外,我们可能需要将此迁移到ServerFault)
标签: php apache url .htaccess codeigniter