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

Posted

技术标签:

【中文标题】修复`index.php` Codeigniter 3.x - Mac OS - Xampp [重复]【英文标题】:Fix `index.php` Codeigniter 3.x - Mac OS - Xampp [duplicate] 【发布时间】:2020-07-30 00:32:31 【问题描述】:

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

.htaccess

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

config.php

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

$config['index_page'] = '';

【问题讨论】:

这应该会有所帮助 - ***.com/questions/12272731/…。听起来你的 mod-rewrite 没有启用 您现在是否正在使用 PHP-FPM 现在您已移至 MAC? 兄弟感谢您与我们联系。我试过这个。但它没有用。 @RiggsFolly 不。 你检查了吗:***.com/a/24255653/2275490 【参考方案1】:

回答我自己的问题。这是一个合适的解决方案,但不适用于 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/$1 [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 db 或其他任何东西。您可以将localhost/phpmyadmin 用于数据库,但它会让您依赖Xampp。要克服这个问题,请安装 Mysql 库和 MysqlWorkbench 应用程序。使用mysql.server start 启动你的mysql 服务器。配置您的 database.php 文件并使用此命令运行您的项目。

php -S localhost:8080

在您的项目目录中运行此命令。是的,最好将您的项目从/htdocs 移出到其他目录。 (出 xampp)

【讨论】:

以上是关于修复`index.php` Codeigniter 3.x - Mac OS - Xampp [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何删除codeigniter路径中的“index.php”

从 URL 中删除 index.php (CodeIgniter)

强制从 codeigniter 中删除 index.php

Codeigniter 表单打开如何删除 index.php

无法从 codeigniter 中的 URL 中删除“Index.php”

CodeIgniter 使 .htaccess 为 index.php 返回 404