мне кажется тебе нужно не на уровне nginx это делать, а на уровне роутов ларавель. в ларавель есть роуты api, для этих маршрутов все идет черед префикс /api. нужно по аналогии реализовать /laravel (ну а все остальные варианты доступа убрать)
Например вот такой провайдер (ну или можно в стандартном провайдере, но я бы там закоментил просто стандартный вариант, а кастом в новый провайдер унес)
<?php
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Route;
class MyRouteServiceProvider extends ServiceProvider
{
/**
* The path to your application's "home" route.
*
* Typically, users are redirected here after authentication.
*
* @var string
*/
public const HOME = '/laravel/home';
public function boot(): void
{
$this->routes(function () {
Route::middleware('laravel')
->prefix('laravel')
->group(base_path('routes/laravel.php'));
});
}
}
и подключить его в config/app.php
'providers' => ServiceProvider::defaultProviders()->merge([
/*
* Application Service Providers...
*/
App\Providers\MyRouteServiceProvider::class,
])->toArray(),