删除MAMP上的index.php

时间:2011-01-16 07:16:21

标签: mod-rewrite codeigniter mamp

之前曾问过这个问题并且有过很多回复。这个问题是我尝试过的。

背景:我使用MAMP,我的所有Web项目都位于WebProjects下,我将其重新定位到Applications中MAMP文件夹中的标准位置。所以我的结构是这样的:

Documents / WebProjects / GreatSite / Application /...

到目前为止发生的事情:我的理解是删除index.php可以通过httpd.conf或.htaccess来完成。无论何时我触及httpd.conf,Apache都拒绝启动。我尝试了对.htaccess的各种编辑,包括codeigniter.com/wiki/mod-rewrite中的那个以及来自SO的帖子中的最后一个编辑:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]  

当我访问该网站时,这给我以下错误:

遇到错误 无法确定应显示的内容。尚未在路由文件中指定默认路由。

我已将config.php更新为$ config ['index_page'] ='';我已将.htaccess文件放在GreatSite文件夹中。

另外请注意,我的CI系统文件夹与GreatSite相同。不确定这是否有任何影响。另外,apache已加载模块。

所以,我希望有人在MAMP上成功完成了这项任务,并且可以专门围绕他们的.htaccess(甚至是httpd.conf)的内容提供方向,它的位置和他们必须做的任何其他mod来实现这一目标。

更新

并尝试使用http://localhost:8888/greatsite/account访问控制器会将网址重写为http://localhost:8888/greatsite/account/index并发出2次错误:
消息:未定义的索引:scaffolding_trigger
文件名:libraries / Router.php
行号:164

消息:无法修改标头信息 - 已经发送的标头(输出从/Users/djeetee/Documents/DevProjects/system/libraries/Exceptions.php:166开始)
文件名:libraries / Session.php
行号:662

希望这会有所帮助。

感谢

1 个答案:

答案 0 :(得分:1)

.htaccess不必与index.php位于同一文件夹中。你可以做到

RewriteRule ^(.*)$ /codeigniter/index.php?/$1 [L]
例如

。只需确保你有正确的RewriteBase,然后更正index.php的路径,并在apache中启用重写模块。