Содержание
скрыть
Создаем файл .htaccess в корне проекта и прописываем в нем:
RewriteEngine On RewriteRule (.*) public/$1
Чтобы все вызовы перенаправлялись в папку public.
Пути
Создадим пути в файле routes/web.php :
Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function () { Route::get('/', 'MainController@index')->name('admin.index'); }); //Route::get('/admin', 'Admin\MainController@index')->name('admin.index'); // аналогичная запись
Возможно нужно будет добавить в файл app/Providers/RouteServiceProvider.php:
protected $namespace = 'App\\Http\\Controllers'; /** * Define your route model bindings, pattern filters, etc. * * @return void */ public function boot() { $this->configureRateLimiting(); $this->routes(function () { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web.php')); }); }
Обычно раскомментировать строчку protected $namespace = ‘App\\Http\\Controllers’; То есть дефолтный namespace.
Контроллер
Создадим контроллер app/Http/Controllers/Admin/MainController.php с содержимым:
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class MainController extends Controller { public function index() { return view('admin.index'); } }
Представление (вью)
Создадим представление resources/views/admin/index.blade.php с содержимым:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Admin</title> </head> <body> <h1>ADMIN</h1> </body> </html>