如何解决为什么访问在Heroku上部署的Slim应用程序时出现404 Not Found错误?
因此,我在Heroku上部署了Slim应用。仅索引路由(/)有效,其他索引错误404未找到。
这是我的route.php文件
// index
$app->group('',function(RouteCollectorProxy $group) {
$group->get('/',EntryPointController::class . ':index' );
$group->get('/test',EntryPointController::class . ':test' );
});
// api
$app->group('/api/v1',function(RouteCollectorProxy $group) {
$group->get('/products',ProductsController::class . ':all' );
});
Procfile内容:
web: vendor/bin/heroku-php-apache2 public/
对于除索引路由(/)以外的所有路由,我都收到404错误,尽管在本地主机上也可以。
那么,请说如何解决这个问题?
解决方法
如果您的根路由有效,那么听起来好像该应用程序部署良好。您是否上传了.htaccess
文件来向Heroku解释重写规则?在Slim Docs中,您需要以下内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
这使Apache知道将所有未发送到现有文件或目录的请求发送到索引文件(该请求将路由到routes.php
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。