Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5号路线无法运行_Php_Laravel_Routes_Laravel 5.4 - Fatal编程技术网

Php Laravel 5号路线无法运行

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' =

我正在从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' => '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包有关,尽管我显然不明白为什么。