我试图在 Laravel 8 中用 group routing
创建一个 prefix
。但是当我在 http://localhost/mysite/admin/test/
中测试它时,它总是抛出 error 404
。
这是web.php
中的代码:
Route::prefix('/admin', function() {
Route::get('/test', [Admin\LoginController::class, 'index']);
});
我在 app/Http/Controller/Admin/
中创建了一个控制器,因为该控制器位于 Admin
文件夹中。
这是LoginController
中的代码:
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class LoginController extends Controller
{
public function __construct()
{
//
}
public function index()
{
echo "Please login";
}
}
谁能告诉我我做错了什么才能让它正常工作?
答案 0 :(得分:2)
您必须按照 documentation 中所述对路线进行分组,例如:
Route::prefix('admin')->group(function () {
Route::get('/test', function () {
// Matches The "/admin/users" URL
});
});
在你的情况下是:
use App\Http\Controllers\Admin\LoginController;
Route::prefix('admin')->group(function () {
Route::get('/test', [LoginController::class, 'index']);
});
答案 1 :(得分:0)
我认为应该是“admin”而不是“/admin”。 那个斜线使它:
http://localhost/mysite//admin/test
=>
http://localhost/admin/test
您可以使用以下方法检查所有路线:php artisan route:list
答案 2 :(得分:0)
试试这个
use App\Http\Controllers\Admin\LoginController;
Route::prefix('admin')->group(function () {
Route::get('test', ['LoginController::class, index'])->name('test'); });