Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.03.2014 12:35:43

ЧПУ в Laravel. Как правильно сделать?

Здравствуйте. Прошу не пинать, я в Laravel совсем недавно. Мне достался уже готовый сайт и одна из задач - сделать ЧПУ для ссылок типа
http://mysite.dom/catalog/collection?cols=blabla
как
http://mysite.dom/catalog/collection/blabla
или
http://mysite.domu/collection/blabla

Где формируются эти URL я нашел и соответственно внес изменения.
В .htaccess добавил
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^collection/(.*)$ catalog/collection?cols=$1 [L]

при этом
Options +FollowSymLinks -Indexes
RewriteEngine on
уже есть.

Однако правило не работает.
При этом аналогичные правила у меня работают на других проектах (не Laravel)
Видимо есть какая то особенность? Подскажите, где копать?

Не в сети

#2 25.03.2014 17:23:59

webbeg1

Re: ЧПУ в Laravel. Как правильно сделать?

ЧПУ формируется а файле route.php.
Если нужно так то пишите

Route::get('catalog/collection/blabla', 'Controller@method');

Если url генерируется автоматически, то можно так

Route::get('catalog/collection/{blabla}',,array('as'=> 'catalog/collection/{blabla}, 'uses'=>  'Controller@method'), function($blabla){
}) ->where(array('blabla' => '^[a-zA-Z0-9_]{1,}$'));

#3 27.03.2014 19:03:34

Re: ЧПУ в Laravel. Как правильно сделать?

webbeg1 пишет:

ЧПУ формируется а файле route.php.
Если нужно так то пишите

Route::get('catalog/collection/blabla', 'Controller@method');

Если url генерируется автоматически, то можно так

Route::get('catalog/collection/{blabla}',,array('as'=> 'catalog/collection/{blabla}, 'uses'=>  'Controller@method'), function($blabla){
}) ->where(array('blabla' => '^[a-zA-Z0-9_]{1,}$'));

Огромное спасибо! И хоть я уже и сделал сам, комбинируюя правила в .htaccess без правки route.php, видимо все равно переделывать буду.. учту Ваш совет.

Не в сети

Подвал раздела