Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite 删除MAMP上的index.php_Mod Rewrite_Codeigniter_Mamp - Fatal编程技术网

Mod rewrite 删除MAMP上的index.php

Mod rewrite 删除MAMP上的index.php,mod-rewrite,codeigniter,mamp,Mod Rewrite,Codeigniter,Mamp,这个问题以前曾被问过,并得到了很多回应。问题是我试过什么也没用 背景:我使用MAMP,我的所有web项目都位于WebProjects下,我将其从应用程序的MAMP文件夹中的标准位置重新定位。所以我的结构是这样的: 文档/WebProjects/GreatSite/Application/… 到目前为止发生了什么:我的理解是,可以通过httpd.conf或.htaccess删除index.php。每当我触摸httpd.conf时,Apache都拒绝启动。我尝试了对.htaccess的各种编辑,包括

这个问题以前曾被问过,并得到了很多回应。问题是我试过什么也没用

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

文档/WebProjects/GreatSite/Application/…

到目前为止发生了什么:我的理解是,可以通过httpd.conf或.htaccess删除index.php。每当我触摸httpd.conf时,Apache都拒绝启动。我尝试了对.htaccess的各种编辑,包括codeigniter.com/wiki/mod-rewrite中的编辑,以及上一篇文章中的最后一个编辑,这是:

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提供指导

更新

尝试使用将url重写为访问控制器时,会出现两个错误:
消息:未定义索引:触发器
文件名:libraries/Router.php
行号:164

消息:无法修改标题信息-标题已由发送(输出从/Users/djeete/Documents/DevProjects/system/libraries/Exceptions.php:166开始)
文件名:libraries/Session.php
电话号码:662

希望这有帮助


谢谢。htaccess不必与index.php位于同一文件夹中。你能行

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

比如说。只需确保您有正确的RewriteBase,然后是index.php的正确路径,并且在apache中启用了rewrite模块。

config/route.php中有什么?另外,
.htacsess
文件应该放在
index.php
所在的任何地方……您是否删除或重命名了
欢迎
控制器?。htaccess与index.php位于同一文件夹中。欢迎控制器不再存在,取而代之的是一个名为main的控制器,它可以很好地将用户带到网站的主页,顺便说一句,当我不想通过.htaccess删除index.php时,它可以很好地工作。php的内容如下:$route['default_controller']=“main”$路线['scaffolding_trigger']=“”;CI系统文件夹的位置是否与所有这些有关?本文应该可以工作…我的所有CI安装都使用它,我只需修改RewriteBase(第三行)…对于您来说,它可能类似于
/greatsite/
wiki代码生成错误500-内部服务器错误:(奇怪的是,尽管该站点使用的是较短的.htaccess文件,但我2天前编写的javascript ajax post代码只有在控制器名称Arggggg之前包含index.php时才有效!仍然不走运。使用时会出现相同的错误,无法确定应该显示什么。defa路由文件中未指定ult路由。我将编辑包含更多详细信息的主要问题。如果跳过重写内容,您的RewriteBase是否设置为/greatsite/?站点是否工作?好的,现在它工作了。我的错误。我编辑了config.php,最近添加了一些注释,但没有关闭它们,因此出现了我提到的“默认路由”错误,这就是这就是为什么您建议的重写规则之前不起作用的原因。因此,概括地说,我将.htaccess更新为include/greatsite/index.php,一切都很好-我想;)感谢您的帮助。的确,htaccess不必放在同一个文件夹中,只有我始终将其放在项目的根目录中,而
index.php