-
Базовая маршрутизация пулей:
Давайте начнем с основ. В Laravel вы можете определить пул-маршрут, добавив заполнитель в определение маршрута. Например:Route::get('/posts/{slug}', 'PostController@show');Здесь
{slug}выступает в качестве заполнителя для значения фрагмента в URL-адресе. Затем вы можете получить значение пула в методе контроллера. -
Настройка шаблонов слизней.
По умолчанию заполнитель маршрута слизней в Laravel принимает любую строку символов. Однако вы можете настроить шаблон, используя регулярные выражения, чтобы обеспечить соблюдение определенных ограничений. Например:Route::get('/products/{slug}', 'ProductController@show')->where('slug', '[A-Za-z0-9-]+');В этом примере фрагмент может содержать только буквенно-цифровые символы и дефисы.
-
Слагификация и очистка строк.
При работе с слизнями обычно обычные строки преобразуются в слизни и наоборот. Laravel предоставляет вспомогательные функции для разделения и удаления шламов из строк. Вот пример:use Illuminate\Support\Str; $slug = Str::slug('Hello World'); // Output: hello-world $title = Str::slug('hello-world', ' '); // Output: Hello World -
Создание уникальных фрагментов.
Чтобы обеспечить уникальность, часто при создании новых записей необходимо создавать уникальные фрагменты. ФункцияStr::slug()в Laravel может помочь, но важно проверять наличие дубликатов. Вот пример использования цикла:$slug = Str::slug($title); $counter = 1; while (Post::where('slug', $slug)->exists()) { $slug = $slug . '-' . $counter; $counter++; } -
Привязка модели маршрута с помощью слагов.
Функция привязки модели маршрута в Laravel упрощает получение экземпляров модели с использованием параметров маршрута. Вы можете связать модели, используя пули вместо первичных ключей. Вот пример:Route::get('/posts/{post:slug}', 'PostController@show');В этом случае Laravel автоматически получит соответствующий экземпляр модели
Postна основе предоставленного фрагмента.
Помните, что оптимизация URL-адресов для поисковых систем — это лишь одна часть головоломки. Объедините эти методы с другими передовыми методами SEO, чтобы максимально повысить рейтинг и видимость вашего сайта.