如何从 Bitnami MAMP 堆栈上的 codeigniter 中删除 index.php

How to remove index.php from codeigniter on Bitnami MAMP stack

我一直在 Macbook

上使用 Bitnami MAMP stack 5.6.19 进行开发

我现在准备将它上传到我的服务器,但在此之前我想从站点 url 中删除 index.php 并在我的 Mac 上测试它,所以我可以解决任何错误。

我尝试按照 Bitnami 网站上的建议更改 httpd-app.conf、httpd-prefix.conf,但没有成功。我从页面收到 404 错误。

这里是httpd-app.conf

我将 AllowOverriteNone 更改为 All

<Directory "/Applications/mampstack-5.6.19-0/frameworks/codeigniter/htdocs">
Options +MultiViews
AllowOverride All
<IfVersion < 2.3 >
    Order allow,deny
    Allow from all
</IfVersion>
<IfVersion >= 2.3>
    Require all granted
</IfVersion>

<IfDefine USE_PHP_FPM>
   <FilesMatch \.php$>
     SetHandler "proxy:fcgi://codeigniter-fpm"
   </FilesMatch>
</IfDefine>

</Directory>

这里是httpd-prefix.conf

我添加了 DocumentRoot "/Applications/mampstack-5.6.19-0/frameworks/codeigniter/htdocs" 并注释掉了 Alias's

DocumentRoot "/Applications/mampstack-5.6.19-0/frameworks/codeigniter/htdocs"
#Alias /codeigniter/ "/Applications/mampstack-5.6.19-0/frameworks/codeigniter/htdocs/"
#Alias /codeigniter "/Applications/mampstack-5.6.19-0/frameworks/codeigniter/htdocs"

Include "/Applications/mampstack-5.6.19-0/frameworks/codeigniter/conf/httpd-app.conf"

在 codeigniter 配置中,我将 $config['index_page'] = 'index.php'; 更改为 $config['index_page'] = '';

我无法编辑 .htaccess 文件,因为我找不到它,据我所知,Bitnami 更改了应用程序,因此您无需更改.htaccess

使用 http://www.your-site.com 而不是 index.php,当然,将 your-site 替换为您的网站名称。

在根文件夹中添加一个 .htaccess 文件并将此代码粘贴到其中。

htaccess 模块:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/ [QSA,L] </IfModule>

此致:)