Содержание
скрыть
Создаем файл .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>