无法在MAC OSX上使用Codeigniter从URL中删除index.php

时间:2014-02-19 17:36:22

标签: apache .htaccess codeigniter mamp

我刚买了一台Mac-pro和Mavericks 10.9.1,之前我在Windows 7上用电脑工作。

我在Windows 7操作系统下创建了一个项目,现在我想将其导入OSX,除了.htaccess文件外,导入成功了。我无法从我的网址中删除index.php。 我安装了MAMP,只有在使用index.php时才能使用我的网址:

  • 不起作用:(localhost/~username/feel/products)
  • 工作:(localhost/~username/feel/index.php/products)

我在.htaccess文件中尝试了RewriteEngine,RewriteCond和RewriteRule的所有选项。 我给chmod 755的所有文件夹/文件,放了$config['base_url']=''$config['index_page'] = '';有和没有root或index.php页面。

文件.htaccess与index.php页面位于同一文件夹中,AllowOverride None为AllowOverride All。

2 个答案:

答案 0 :(得分:2)

我认为问题与OS X为apache处理不同用户的方式有关。我使用了CodeIgniter URL documentation中描述的.htaccess文件,并使用RewriteBase添加了一行。

RewriteEngine on
RewriteBase /~username/path/to/CI/
RewriteCond $1 !^(index\.php|static|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

顺便说一下,我使用OS X 10.9.3(Mavericks)和CodeIgniter 2.2.0

答案 1 :(得分:0)

您必须在AllowOverride All

中设置Directory

/private/etc/apache2/httpd.conf

182 <Directory />
183     Options +FollowSymLinks
184     AllowOverride All
185     Order deny,allow
186     Deny from all
187 </Directory>

然后重启Apache

sudo apachectl restart