簡體   English   中英

我所有的路線都重定向到主頁

[英]All my routes redirect to home page

我所有的laravel路線都不斷重定向回到首頁。 例如,當我轉到localhost:8000/about它仍停留在主頁上,而localhost:8000/about顯示在地址欄中,但我仍在主頁上。 我沒有錯。 此列表中的最后三(3)重定向我到主頁:

<?php
//No auth needed to access these

Route::get('/course/detail/{id}', [
    'uses' => 'CourseController@show',
    'as' => 'course.detail'
]);

Route::get('/{pagenum?}', [
    'uses' => 'CourseController@showAll',
    'as' => 'courses'
]);

Route::get('/instructor/detail/{id}', [
    'uses' => 'InstructorController@showDetail',
    'as' => 'instructor.detail'
]);

Route::get('/about', function(){
    return view('frontend.about');
})->name('about');

Route::get('/contacts', function(){
    return view('frontend.contacts');
})->name('contacts');

Route::get('/search', [
    'uses' => 'CourseController@search',
    'as' => 'courses.search'
]);

我上面有這些路由,您需要在訪問之前進行身份驗證,並且在登錄時可以訪問它們。您無需登錄即可訪問上面的路由。 從上面提到的六(6)個中,我無需重定向即可訪問前三(3)個。 其他三(3)步將我重定向到主頁,沒有錯誤

我不是Laravel的新手,以前的航線都在工作。 重定向的原因可能是什么?

您在定義路線的順序上遇到了問題。

您已定義:

Route::get('/{pagenum?}', [
    'uses' => 'CourseController@showAll',
    'as' => 'courses'
]);

就像/anything-that-comes-here一樣

以及前綴/其他路由定義被阻止。

因此,只需將其上方的最后3條路線移動:

Route::get('/about', function(){
    return view('frontend.about');
})->name('about');

Route::get('/contacts', function(){
    return view('frontend.contacts');
})->name('contacts');

Route::get('/search', [
    'uses' => 'CourseController@search',
    'as' => 'courses.search'
]);

Route::get('/{pagenum?}', [
    'uses' => 'CourseController@showAll',
    'as' => 'courses'
]);

第二種方法是您必須放在最后的問題:

Route::get('/{pagenum?}', [
    'uses' => 'CourseController@showAll',
    'as' => 'courses'
]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM