【发布时间】:2020-11-16 03:38:39
【问题描述】:
请卡在这里。当我访问 ROOT 路由 '/' 时,我有一个 laravel 项目,即使未声明路由:'/home',它也会一直重定向到 '/home'。我已经清除了路由缓存,还检查了redirectIfAuthenticated.php HOME 路由是否故意到'/',但无济于事。我想为根路由分配一个控制器
项目基于laravel 7.x。以下是我的route/web.php 文件:
/* Authentication Routes */
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::post('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');
Route::get('password/confirm', 'Auth\ConfirmPasswordController@showConfirmForm')->name('password.confirm');
Route::post('password/confirm', 'Auth\ConfirmPasswordController@confirm');
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');
Route::group(['prefix' => 'user', 'middleware' => ['auth']], function () {
Route::get('/product', 'ProductController@index')->name('user_list_product');
Route::get('/profile/edit', 'HomeController@edit')->name('edit_profile');
Route::get('/product/create', 'ProductController@create')->name('user_create_product');
Route::get('/product/edit/{product_id}', 'ProductController@edit')->name('user_edit_product');
});
Route::get('/', 'HomeController@homepage')->name('homepage');
Route::get('/product/view/{product_id}', 'ProductController@show')->name('view_product');
php artisan route:list的输出
+--------+----------+------------------------------------------+-----------------------------------+---------------------------------------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+------------------------------------------+-----------------------------------+---------------------------------------------------------------------------+--------------+
| | GET|HEAD | / | homepage | App\Http\Controllers\HomeController@homepage | web |
| | GET|HEAD | api/category/list | | App\Http\Controllers\API\CategoryController@index | api |
| | GET|HEAD | api/city/find/{findable}/in/{state_code} | api_find_city_in_state | App\Http\Controllers\API\CityController@find_city_in_state | api |
| | GET|HEAD | api/city/list | | App\Http\Controllers\API\CityController@index | api |
| | GET|HEAD | api/city/list_for/{state_code} | api_list_city_for_state_code | App\Http\Controllers\API\CityController@list_city_for_state_code | api |
| | POST | api/login | api_login | App\Http\Controllers\API\AuthController@login | api |
| | POST | api/product/find | | App\Http\Controllers\API\ProductController@find | api |
| | POST | api/product/list | api_list_product | App\Http\Controllers\API\ProductController@index | api |
| | POST | api/register | api_register | App\Http\Controllers\API\AuthController@store | api |
| | GET|HEAD | api/state/find/{findable} | api_find_state | App\Http\Controllers\API\StateController@find_state | api |
| | GET|HEAD | api/state/list | | App\Http\Controllers\API\StateController@index | api |
| | GET|HEAD | api/subcategory/list | | App\Http\Controllers\API\CategoryController@index | api |
| | POST | api/update | api_update | App\Http\Controllers\API\AuthController@update | api |
| | | | | | auth:api |
| | GET|HEAD | api/user/list | | App\Http\Controllers\API\AuthController@index | api |
| | | | | | auth:api |
| | GET|HEAD | api/user/product/delete/{product_id} | | App\Http\Controllers\API\ProductController@destroy | api |
| | | | | | auth:api |
| | GET|HEAD | api/user/product/disable/{product_id} | | App\Http\Controllers\API\ProductController@disable | api |
| | | | | | auth:api |
| | GET|HEAD | api/user/product/find/{findable} | | App\Http\Controllers\API\ProductController@find | api |
| | | | | | auth:api |
| | GET|HEAD | api/user/product/like/{product_id} | | App\Http\Controllers\API\ProductController@like | api |
| | | | | | auth:api |
| | POST | api/user/product/list | api_user_list_product | App\Http\Controllers\API\ProductController@user_index | api |
| | | | | | auth:api |
| | GET|HEAD | api/user/product/report/{product_id} | | App\Http\Controllers\API\ProductController@report | api |
| | | | | | auth:api |
| | POST | api/user/product/save | api_save_new_product | App\Http\Controllers\API\ProductController@store | api |
| | | | | | auth:api |
| | GET|HEAD | api/user/product/unlike/{product_id} | | App\Http\Controllers\API\ProductController@unlike | api |
| | | | | | auth:api |
| | POST | api/user/product/update/{product_id} | api_update_product | App\Http\Controllers\API\ProductController@update | api |
| | | | | | auth:api |
| | POST | email/resend | verification.resend | App\Http\Controllers\Auth\VerificationController@resend | web |
| | | | | | auth |
| | | | | | throttle:6,1 |
| | GET|HEAD | email/verify | verification.notice | App\Http\Controllers\Auth\VerificationController@show | web |
| | | | | | auth |
| | GET|HEAD | email/verify/{id}/{hash} | verification.verify | App\Http\Controllers\Auth\VerificationController@verify | web |
| | | | | | auth |
| | | | | | signed |
| | | | | | throttle:6,1 |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web |
| | | | | | guest |
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web |
| | | | | | guest |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | GET|HEAD | oauth/authorize | passport.authorizations.authorize | Laravel\Passport\Http\Controllers\AuthorizationController@authorize | web |
| | | | | | auth |
| | DELETE | oauth/authorize | passport.authorizations.deny | Laravel\Passport\Http\Controllers\DenyAuthorizationController@deny | web |
| | | | | | auth |
| | POST | oauth/authorize | passport.authorizations.approve | Laravel\Passport\Http\Controllers\ApproveAuthorizationController@approve | web |
| | | | | | auth |
| | POST | oauth/clients | passport.clients.store | Laravel\Passport\Http\Controllers\ClientController@store | web |
| | | | | | auth |
| | GET|HEAD | oauth/clients | passport.clients.index | Laravel\Passport\Http\Controllers\ClientController@forUser | web |
| | | | | | auth |
| | DELETE | oauth/clients/{client_id} | passport.clients.destroy | Laravel\Passport\Http\Controllers\ClientController@destroy | web |
| | | | | | auth |
| | PUT | oauth/clients/{client_id} | passport.clients.update | Laravel\Passport\Http\Controllers\ClientController@update | web |
| | | | | | auth |
| | POST | oauth/personal-access-tokens | passport.personal.tokens.store | Laravel\Passport\Http\Controllers\PersonalAccessTokenController@store | web |
| | | | | | auth |
| | GET|HEAD | oauth/personal-access-tokens | passport.personal.tokens.index | Laravel\Passport\Http\Controllers\PersonalAccessTokenController@forUser | web |
| | | | | | auth |
| | DELETE | oauth/personal-access-tokens/{token_id} | passport.personal.tokens.destroy | Laravel\Passport\Http\Controllers\PersonalAccessTokenController@destroy | web |
| | | | | | auth |
| | GET|HEAD | oauth/scopes | passport.scopes.index | Laravel\Passport\Http\Controllers\ScopeController@all | web |
| | | | | | auth |
| | POST | oauth/token | passport.token | Laravel\Passport\Http\Controllers\AccessTokenController@issueToken | throttle |
| | POST | oauth/token/refresh | passport.token.refresh | Laravel\Passport\Http\Controllers\TransientTokenController@refresh | web |
| | | | | | auth |
| | GET|HEAD | oauth/tokens | passport.tokens.index | Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@forUser | web |
| | | | | | auth |
| | DELETE | oauth/tokens/{token_id} | passport.tokens.destroy | Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@destroy | web |
| | | | | | auth |
| | GET|HEAD | password/confirm | password.confirm | App\Http\Controllers\Auth\ConfirmPasswordController@showConfirmForm | web |
| | | | | | auth |
| | POST | password/confirm | | App\Http\Controllers\Auth\ConfirmPasswordController@confirm | web |
| | | | | | auth |
| | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web |
| | POST | password/reset | password.update | App\Http\Controllers\Auth\ResetPasswordController@reset | web |
| | GET|HEAD | password/reset | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web |
| | GET|HEAD | password/reset/{token} | password.reset | App\Http\Controllers\Auth\ResetPasswordController@showResetForm | web |
| | GET|HEAD | product/view/{product_id} | view_product | App\Http\Controllers\ProductController@show | web |
| | POST | register | | App\Http\Controllers\Auth\RegisterController@register | web |
| | | | | | guest |
| | GET|HEAD | register | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm | web |
| | | | | | guest |
| | GET|HEAD | user/product | user_list_product | App\Http\Controllers\ProductController@index | web |
| | | | | | auth |
| | GET|HEAD | user/product/create | user_create_product | App\Http\Controllers\ProductController@create | web |
| | | | | | auth |
| | GET|HEAD | user/product/edit/{product_id} | user_edit_product | App\Http\Controllers\ProductController@edit | web |
| | | | | | auth |
| | GET|HEAD | user/profile/edit | edit_profile | App\Http\Controllers\HomeController@edit | web |
| | | | | | auth |
+--------+----------+------------------------------------------+-----------------------------------+---------------------------------------------------------------------------+--------------+
【问题讨论】:
-
php artisan route:clear然后查看php artisan route:list的所有路线 -
@STA 我做到了,用输出更新了我的问题
-
可能你得到这个是因为
HomeController@homepage指向/home你在/home得到什么? -
在自动重定向到
'\home'后我有一个空白页面,因为没有'\home'路由,这是 HomeController@homepage 操作:public function hompage() { return view('homepage'); } -
你登录后会去/home,对吧?
标签: php laravel laravel-routing