Fresh new installation of Laravel 12
composer create-project --prefer-dist laravel/laravel api
cd api
composer update
sudo chmod -R 775 storage
sudo chown -R www-data:www-data storage
sudo chmod -R 775 bootstrap/cache/
vim config/database // set pgsql config options
vim .env // set DATABASE from sqlite to pgsql
php artisan route:clear
This allows me to access the default "/" route. All good. Then I add a second route "/foo" but this creates a 404. Any other route is not picked up either. Example below.
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/foo', function () {
return view('welcome');
});
Mod rewrite is enable, and .htaccess is the default:
<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}]
# Handle X-XSRF-Token Header
RewriteCond %{HTTP:x-xsrf-token} .
RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
The routes appear in route:list
php artisan route:list
GET|HEAD / .........................................................................................................................................................
GET|HEAD foo .......................................................................................................................................................
GET|HEAD storage/{path} .............................................................................................................................. storage.local
GET|HEAD up ........................................................................................................................................................
Am I missing the bleeding obvious, or missing a step?