Php Laravel 5号路线无法运行
我正在从Laravel4.2升级到5.4,我不明白为什么转换后的路由不适用于URL:http://{domain}/admin/page/provider.home 以下是Laravel 4.2中的相关细节:Php Laravel 5号路线无法运行,php,laravel,routes,laravel-5.4,Php,Laravel,Routes,Laravel 5.4,我正在从Laravel4.2升级到5.4,我不明白为什么转换后的路由不适用于URL:http://{domain}/admin/page/provider.home 以下是Laravel 4.2中的相关细节: Route::filter('provider_admin', function() { // Specific logic to potentially redirect to a specific page } Route::group(array('prefix' =
Route::filter('provider_admin', function()
{
// Specific logic to potentially redirect to a specific page
}
Route::group(array('prefix' => 'admin/page'), function()
{
Route::get('/{page}', array( 'before' => 'provider_admin', 'as' => 'admin_page', 'uses' => 'Frozennode\Administrator\AdminController@page' ));
Route::get('/{page}/{id}', array( 'before' => 'provider_admin', 'as' => 'admin_page', 'uses' => 'Frozennode\Administrator\AdminController@page' ));
});
在Laravel 5.4中,过滤器已移动到中间件,因此我有以下内容:
ProviderAdmin.php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class ProviderAdmin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
// Specific logic to potentially redirect to a specific page
return $next($request);
}
}
在web.php内部
// Route::middleware('provider_admin')->prefix('admin/page')->group(function ()
Route::group(['prefix' => 'admin/page', 'middleware' => 'provider_admin'], function () {
{
Route::get('{page}', ['as' => 'admin_page', 'uses' => '\Frozennode\Administrator\AdminController@page' ]);
Route::get('{page}/{id}', ['as' => 'admin_page', 'uses' => '\Frozennode\Administrator\AdminController@page' ]);
die('ROUTE NOT FOUND');
});
kernel.php
'provider_admin' => \App\Http\Middleware\ProviderAdmin::class,
请求进入组,但与Laravel 4.2不同,它不进入中间件,而是以“未找到路由”结束。我还遗漏了什么在Laravel 5路由中引入的基本问题 试试这个
Route::group(['prefix' => 'admin/page', 'middleware' => 'provider_admin'], function () {
Route::get('{page}','\Frozennode\Administrator\AdminController@page')->name('admin_page');
Route::get('{page}/{id}','\Frozennode\Administrator\AdminController@page' )->name('admin_page_by_id');
die('ROUTE NOT FOUND');
});
Route::group(数组('prefix'=>'admin/page'),function()
表示您的url类似于localhost/admin/page/page\u name
和localhost/admin/page/page\u name/1
我不确定您在这里做什么http://{domain}/admin/page/provider.home
确切地说是Rodrane,provider.home是page_名称。仍然没有进入中间件处理程序,感谢您的尝试。我认为这可能与我正在使用的Frozennode/Administrator包有关,尽管我显然不明白为什么。