2016-10-06 9 views
-1

У нас есть интернет-магазин.Какова наилучшая практика для обработки дружественных URL-адресов в Laravel?

Мы можем иметь любые Дружественные URL как для отдельных моделей, таких как продукты или категории (/ iphone-6-белый =/Iphones/23) , как для пользовательских фильтров URLs типа (/ COOL-мигает =/вспышки? Колпачком = 32gb & col = white)

Какова наилучшая практика для обработки всех URL-адресов?

IMHO мы должны создать таблицу, в которой мы должны хранить два столбца (urlFrom и RedirectUrl). Но перенаправление не является хорошим способом для нас, потому что мы не хотим перенаправления, мы просто хотим показать соответствующий контент под urlFrom.

Я хочу сохранить его в одной таблице, чтобы сделать только один запрос к БД, чтобы узнать, есть ли у нас URL-адрес.

+0

мы не должны забывать, что его важно сделать удобный инструмент для анализа redirectUrls. Если мы поймаем/blabla, что мы должны показать/категории? Col = black & size = 2 как мы справимся с этим? –

+0

Используйте слизняков. https://github.com/cviebrock/eloquent-sluggable – Samsquanch

ответ

0

Вы можете создать свою форму в таком виде, как search[name], search[price][form] и создать свое собственное промежуточное программное обеспечение, которое будет проверять запрос, содержащий search[] код сборки и после этого перенаправить на эту страницу.

Конечно после того, что вы должны создать маршрут для тех, кто странице, как:

Route::get('/search/{searchName?}/{searchPriceFrom?}', '[email protected]'); 

Где ваш RoutesServiceProvoider будет выглядеть следующим образом:

Route::bind('searchName', function($term) { 
    // your DB query and checks... 
});