修复 `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)
我最近从 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)