我有三个包含静态文件(Angular 应用程序)的文件夹:web、login、admin。
我想服务:
web
文件夹,当 URL 为 /*
login
当 URL 为 /admin/*
且未记录时 admin
当 URL 为 /admin/*
并记录时。 我的
routes.php
://管理文件夹
Route::get('/admin', ['before' => 'auth', function()
{
返回 File::get(public_path() .'/admin/index.html');
}]);
Route::get('/admin/{slug}', ['before' => 'auth', function($slug)
{
返回 File::get(public_path() . '/admin/' . $slug);
}]);
//登录文件夹
Route::get('/admin', function()
{
返回 File::get(public_path() .'/login/index.html');
});
Route::get('/admin/{slug}', function($slug)
{
返回 File::get(public_path() . '/login/' . $slug);
});
//网页文件夹
路由::get('/', function()
{
返回 File::get(public_path() .'/web/index.html');
});
Route::get('/{slug}', function($slug)
{
返回 File::get(public_path() . '/web/' . $slug);
});
问题:
/{slug}
不提供来自子文件夹的文件。 /admin/
将我重定向到 /login
。 如何解决前面的问题?
最佳答案
Route::get('/admin',function()
{
if(Auth::check())
return File::get(public_path() . '/admin/index.html');
return File::get(public_path() . '/login/index.html');
});
Route::get('/admin/{slug}',function($slug)
{
if(Auth::check())
return File::get(public_path() . '/admin/' . $slug);
return File::get(public_path() . '/login/' . $slug);
});
->where('slug', '[A-Za-z]+');
希望这可以帮助!
关于php - 如何在 Laravel 中提供多个静态文件夹?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26821873/