使用 Slim 框架和 MAMP 管理路由

Manage routes with Slim framework and MAMP

我的环境好像MAMP和Slim框架有冲突
我正在尝试学习 Slim,但我遇到了这种奇怪的情况,我可以为“/”创建路由,但无法为“/contact”创建路由。

$app->get('/', \App\Controllers\PagesController::class . ':home');
$app->get('/contact', \App\Controllers\PagesController::class . ':getContact');

Slim 似乎捕捉到 / 路由,但是当我在浏览器中键入 http://localhost:8888/contact/ 时,Slim 没有捕捉到请求,我有一个 404...

我试图创建一个真正的 "contact" 文件夹,里面有一个 index.html 文件,当然它可以工作...它显示 index.html

您需要将所有请求路由到 index.php 文件。 Mamp 正在寻找一个目录结构,该目录结构在您像您一样创建之前不存在。

在您应用的根文件夹中创建一个 .htaccess 文件。并插入以下内容:

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?path= [NC,L,QSA]

如果您只是在学习 php 和瘦身,那么我建议放弃 MAMP,而只使用集成的 PHP 服务器。在项目的文件夹中,使用以下 CLI 命令启动服务器: PHP -S localhost:3000