Я настраиваю свой Laravel API на Heroku. Кажется, все работает нормально, я могу зайти на сайт и увидеть общедоступную страницу Laravel. Но когда я пытаюсь получить доступ к моим маршрутам API (регистрация, вход в систему и т. Д.), Возвращается ошибка 404.
Маршруты отлично работают на моих собственных виртуальных хостах, которые я создал, но как только я загрузил его в Heroku, все маршруты, кроме "/", возвращают 404. Я проверил, будет ли работать "index.php /", но по-прежнему возвращает 404.
публичный / Htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_URI} 1^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
PROCFILE
web: vendor/bin/heroku-php-apache2 public/
маршруты / api.php
$api = app('Dingo\Api\Routing\Router');
$api->version("v1", function ($api) {
$api->get("/", function () {
return response()->json([
'status' => 'success'
], 200);
});
$api->post("/signup", "MusicShare\Http\Controllers\AuthController@signup");
})
Журналы Heroku
2019-06-16T23:04:37.778061+00:00 app[web.1]: 10.35.223.16 - - [16/Jun/2019:23:04:37 +0000] "GET /index.php/routes HTTP/1.1" 200 47843 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36
Мои журналы Heroku не возвращают ошибку. Все показывает код состояния как 200, но я все еще получаю 404 в Chrome, если я пытаюсь получить доступ к "/ api / signup" или "/ signup" или "/index.php/signup"