修复 `index.php` Codeigniter 3.x - Mac OS - Xampp

Fix `index.php` Codeigniter 3.x - Mac OS - Xampp

我最近从 Windows 转移到 MAC (Catalina 10.15.4)。我安装了 Xampp 并将我的 Codeigniter 项目克隆到 /htdocs。我想解决你们大多数人都熟悉的 index.php 问题 "Remove index.php from url"。谁能知道如何在 MAC 中解决这个问题?

.htaccess

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

config.php

$config['base_url'] = 'http://localhost/Rsss';

$config['index_page'] = '';

回答我自己的问题。这是一个合适的解决方案,但不适合 XAMPP 用户。 使用 sudo nano ../../private/etc/apache2/httpd.conf 编辑您的 /httpd.conf 文件并更改所有出现的

AllowOverride None

AllowOverride All

也找到这一行

#LoadModule rewrite_module modules/mod_rewrite.so

并取消注释。

LoadModule rewrite_module modules/mod_rewrite.so

我的 .htaccess/Project 目录中。不在 /application

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

并编辑您的 Codeigniter 项目 config.php 文件。 Project/application/config/config.php 并设置

$config['sess_save_path'] = '/tmp';

因为当运行通过 System 的 Apache 连接这个项目时,它会抛出一个会话目录错误。默认情况下,它的值为 NULL 所以不要忘记编辑它。您的 base_url 应该是

$config['base_url'] = 'http://localhost:8080';

您可以使用任何可用的端口。这一切都必须解决您的 index.php 问题。 现在配置您的 Mysqli 数据库或其他任何东西。您可以对数据库使用 localhost/phpmyadmin,但它会使您依赖于 Xampp。要克服这个问题,请安装 Mysql 库和 MysqlWorkbench 应用程序。使用 mysql.server start 启动您的 mysql 服务器。使用此命令配置您的 database.php 文件和 运行 您的项目。

php -S localhost:8080

运行这个命令进入你的项目目录。是的,最好将您的项目从 /htdocs 移到其他目录。 (共 xampp)