Я использую Laravel 5.7.Пожалуйста, смотрите мой код:
web.php
Route::prefix('admin')->group(function () {
Route::get('/', function () {
return redirect()->route('admin.check');
});
Route::get('/check-auth', 'Admin\AdminController@checkAuth')->name('admin.check');
});
AdminController::checkAuth()
public function checkAuth()
{
if(true == Auth::guard('admin')->user()){
return redirect()->route('cs.dashboard');
} else{
return redirect()->route('admin.login');
}
}
Я создалгруппа маршрутов с префиксом admin
.
Что мне нужно, когда я использую url localhost:8000/admin
, тогда он должен проверить Auth администратора, если пользователь вошел в систему, то он должен показать панель администратора, в противном случае перенаправлениеему на страницу входа администратора: localhost:8000/admin/login
но проблема здесь в том, что я получаю ошибку apache, которая гласит:
Not Found
The requested resource /admin was not found on this server.
Я также попытался с помощью файла htaccess поместить его в местоположение root/public/admin
, это несколько решило мою проблемупроблема, но я должен использовать этот URL.
localhost:8000/index.php/admin
и мне не нужен index.php в моем URL.
Вот как выглядит мой файл .htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Пожалуйста, помогите мне решить эту проблему.