使用 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
我的环境好像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