2016-04-19 3 views
0

私はLaravelを学んでいます。私はサイト(フレームワークバージョン5.1.34)を構築するのに忙しいです。私はHomesteadを去年9月にWindows 7にインストールし、Windows 7にアップグレードしてからWindows 10にアップグレードしました.Windows 7以降ではすべてうまくいきました(Windows 10でいくつかの問題を解決しましたが)私のルートは最近変な動作を始めた。私のルートはすべて機能しますが、現在は404エラーが出ています。ルートは次のとおりです。Laravelのルートがもう機能しない

Route::get('projects/{project}/nodes/{node}/tasks/create', 
['uses' => '[email protected]']); 

コントローラ機能は次のとおりです。

public function taskCreateShow(Project $project, Node $node){ 
    return view('tasks.create') 
      ->with('project',$project) 
      ->with('user',$this->user) 
      ->with('node',$node) 
      ->with('all_projects',$this->all_projects); 
} // taskCreateShow 

私はphp artisan route:listを実行する場合、ルートはまだ他のすべてのルートのように表示されます。私は新しいルートを追加することもできますが、これも正常に動作します。モデルバインディングは、ブート機能でRouteServiceProvider.phpクラスで定義されています

public function boot(Router $router) 
{ 
    parent::boot($router); 

    // Route model binding 

    $router->model('project', 'resolved7\Project'); 
    $router->model('user', 'resolved7\User'); 
    $router->model('node', 'resolved7\Node'); 
    $router->model('task', 'resolved7\Task'); 
    $router->model('io', 'resolved7\Io'); 
} 

私は仕事にこれを取得することができた唯一の方法は、へのルートを変更することです:

Route::get('projects_1/{project}/nodes/{node}/tasks/create', 
['uses' => '[email protected]']); 

私は.htaccessファイルを見てきました。誰かがおそらくこれが起こる原因を知っていますか?私は助けや提案を感謝します。ありがとう。


*編集:

<?php 

/* 
|-------------------------------------------------------------------------- 
| Application Routes 
|-------------------------------------------------------------------------- 
*/ 

/*========================================================================= 
* General routes 
*/ 

Route::get('/', function(){ 
    return redirect('index'); 
}); 

Route::get('dashboard', function(){ 
    return 'dashboard';  
}); 

Route::get('about', function(){ 
    return view('about')->with('company_name', 'The Resolved 7<sup>th</sup>'); 
}); 

Route::get('index', function(){ 
    return view('index'); 
}); 

// Route used to get images from non-public folder 
Route::get('images/{filename}', function ($filename) 
{ 
    $path = storage_path() . '/profilepics/' . $filename; 

    $file = File::get($path); 
    $type = File::mimeType($path); 

    $response = Response::make($file, 200); 
    $response->header("Content-Type", $type); 

    return $response; 
}); 

/* ========================================================================= 
* Project specific routes 
* Use controller to re-use construct functions 
*/ 

// Project specific dashboard 
Route::get('projects/{project}', ['uses' => '[email protected]']) 
->where('project','[0-9]+'); 

// Page from which to create new project 
Route::get('projects/create', ['uses' => '[email protected]']); 

// Create a new project through post method 
Route::post('projects', ['uses' => '[email protected]']); 

// Page from which to edit projects 
Route::get('projects/{project}/edit', ['uses' => '[email protected]']); 

// Update an existing project through put method 
Route::put('projects/{project}', ['uses' => '[email protected]']); 

// Page from which a project deletion is confirmed 
Route::get('projects/{project}/delete', ['uses' => '[email protected]']); 

// Delete project 
Route::delete('projects/{project}', ['uses' => '[email protected]']); 

// Page to show project details 
Route::get('projects/{project}/detail', ['uses' => '[email protected]']); 

// Page from which to select users to add as members 
Route::get('projects/{project}/members/invite', ['uses' => '[email protected]']); 

/* ========================================================================= 
* User specific routes 
*/ 

// Page to test user 
Route::get('users/{user}/test', ['middleware' => 'auth', 
'uses' => '[email protected]']); 

// Page to show user 
Route::get('users/{user}', ['middleware' => 'auth', 
'uses' => '[email protected]']); 

// Page from which to edit user 
Route::get('users/{user}/edit', ['middleware' => 'auth', 
'uses' => '[email protected]']); 

// Update an existing user through put method 
Route::put('users/{user}', ['middleware' => 'auth', 
'uses' => '[email protected]']); 

/* ========================================================================= 
* Node specific routes 
*/ 

// Page from which to view node 
Route::get('projects/{project}/nodes/{node}', 
['uses' => '[email protected]']); 

// Page from which to create new node 
Route::get('projects/{project}/nodes/create', 
['uses' => '[email protected]']); 

// Create a new node through post method 
Route::post('projects/{project}/nodes', 
['uses' => '[email protected]']); 

// Page from which to edit nodes 
Route::get('projects/{project}/nodes/{node}/edit', 
    ['uses' => '[email protected]']); 

// Update an existing node through put method 
Route::put('projects/{project}/nodes/{node}', 
['uses' => '[email protected]']); 

// Page from which a node deletion is confirmed 
Route::get('projects/{project}/nodes/{node}/delete',['uses' => '[email protected]']); 

// Delete node 
Route::delete('projects/{project}/nodes/{node}', ['uses' => '[email protected]']); 

// Page from which a user is selected to be added to a node 
Route::get('/projects/{project}/nodes/{node}/members/add', 
['uses' => '[email protected]']); 

// Add existing project member user to specific project node 
Route::post('/projects/{project}/nodes/{node}/members/add', 
['uses' => '[email protected]']); 

// Page to confirm node member removal 
Route::get('/projects/{project}/nodes/{node}/members/{user}/remove', 
['uses' => '[email protected]']); 

// Remove node member user from a specific project node 
Route::post('/projects/{project}/nodes/{node}/members/{user}/remove', 
['uses' => '[email protected]']); 

/* ========================================================================= 
* Task specific routes 
*/ 

// Page from which to view task 
Route::get('projects/{project}/nodes/{node}/tasks/{task}', 
['uses' => '[email protected]']); 

// Page from which to create new task 
// return 'dashboard' is a test. 
Route::get('/projects/{project}/nodes/{node}/tasks/create', function(){ 
    return 'dashboard';  
}); 
/*Route::get('/projects/{project}/nodes/{node}/tasks/create', 
    ['uses' => '[email protected]']);*/ 

// Create a new task through post method 
Route::post('/projects/{project}/nodes/{node}/tasks', 
['uses' => '[email protected]']); 

// Page from which a task deletion is confirmed 
Route::get('projects/{project}/nodes/{node}/tasks/{task}/delete', 
['uses' => '[email protected]']); 

// Delete task 
Route::delete('projects/{project}/nodes/{node}/tasks/{task}', 
['uses' => '[email protected]']); 


/* ========================================================================= 
* Io specific routes 
*/ 

// Page from which to create new io 
Route::get('/projects/{project}/nodes/{node}/tasks/{task}/ios/create', 
['uses' => '[email protected]']); 

// Create a new io through post method 
Route::post('/projects/{project}/nodes/{node}/tasks/{task}/ios/', 
['uses' => '[email protected]']); 

// Page from which an io deletion is confirmed 
Route::get('projects/{project}/ios/{io}/delete', 
['uses' => '[email protected]']); 

// Delete io 
Route::delete('projects/{project}/ios/{io}', 
['uses' => '[email protected]']); 


/* ========================================================================= 
* User authentication controllers 
*/ 

Route::controllers([ 
    'auth' => 'Auth\AuthController', 
    'password' => 'Auth\PasswordController', 
]); 

/* ========================================================================= 
* Community 
*/ 

Route::get('/community', ['uses' => '[email protected]']); 

/* Testing routes 
* 
* ========================================================================= 
* 
*/ 

// Page from which to test project 
Route::get('projects/{project}/test', ['uses' => '[email protected]']); 
+0

これよりも優先される 'projects/*'のようなルートはありますか? – alepeino

+0

あなたの完全なルートを表示してください。あなたのroutes.phpを表示することを意味します。 –

+0

仮想マシンを使用すると、ウィンドウ10がどのように問題を引き起こすかと思います。 –

答えて

0

みんなありがとう、私はコメントで述べたように、実際の優先順位を取っていたルートを逃した:ここroutes.phpのファイルです。

Route::get('projects/{project}/nodes/{node}/tasks/{task}', 
['uses' => '[email protected]']); 

へ:

Route::get('projects/{project}/nodes/{node}/tasks/{task}', 
['uses' => '[email protected]']) 
    ->where('project','[0-9]+') 
    ->where('node','[0-9]+') 
    ->where('task','[0-9]+'); 

すべてが再びうまく機能している私はからのルートを変更しました。私はおそらくそれらをより堅牢にするために、他のルートのいくつかを変更するでしょう。