Здравствуйте! Не могу понять где ошибка, использую Laravel 9. Есть такой код в
routes/web.php
:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ServerController;
Route::prefix('/{address}:{port}')->name('server.')->controller(ServerController::class)->group(function() {
Route::get('/', 'index')->name('index');
})->where([
'address' => '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',
'port' => '\d+',
]);
Когда я отрываю URL:
https://laravel.local/127.0.0.0:12345
, то получаю ответ
{"address":"127.0.0.0","port":"12345"}
- всё верно, но почему тогда данный код срабатывает и на следующий URL:
https://laravel.local/127.0.0.0:12345.jsfhsydfisdfsdfsd
и я получаю ответ
{"address":"127.0.0.0","port":"12345.jsfhsydfisdfsdfsd"}
Код контроллера:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ServerController extends Controller
{
public function index(Request $request)
{
return [
'address' => $request->route('address'),
'port' => $request->route('port')
];
}
}