0
我在學習Laravel,而且我正忙於構建一個站點(框架版本5.1.34)。我在去年9月安裝了Homestead,最初在Windows 7上安裝,然後升級到Windows 10.在Windows 7上,一切正常,在Windows 10上也能正常工作(我在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文件,看起來很好。有人可能知道什麼可能導致這種情況發生?我感謝任何幫助或建議。謝謝。
*編輯:這裏是routes.php文件文件:
<?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]']);
你有沒有其他類似'projects/*'的路線可能優先於這個路線? – alepeino
請顯示您的完整路線,意思是顯示您的routes.php。 –
我想知道如果您使用虛擬機,Windows 10可能會導致問題。 –