2014-10-27 3 views
1

Можно ли добавить префикс для всех маршрутов, URL-адресов и ссылок во всем приложении на одном месте, включая лезвия? Например, у меня есть маршрутДобавить префикс для всех маршрутов, ссылок и URL-адресов

Route::get('/', '[email protected]'); 

, но вместо этого я хочу иметь

Route::get($prefix . '/', '[email protected]'); 

и в лезвии

{{ HTML::style('css/bootstrap.min.css') }} 

в

{{ HTML::style($prefix . 'css/bootstrap.min.css') }} 

Я попытался

Route::group(array('prefix' => $prefix), function() {}); 

но не применяется префикс к ссылкам в лезвиях.

+0

Вы уверены, что это то, чего вы действительно хотите? Laravel предназначен для запуска в webroot, причем общая папка является доступной из внешнего мира. Вместо этого я бы предпочел использовать поддомены, если вы хотите запускать несколько приложений в одном домене или что-то в этом роде. – MightyPork

+0

Да, у меня нет другого выбора, потому что я должен использовать конкретный сервер. Все файлы сохраняются в '/ var/www/test/test', но у меня нет доступа к первому тесту, и мое приложение работает на _example.org/test_. Когда я хочу пойти, например, в _example.org/test/login_, я должен использовать 'Route :: get ('test/login', '...');' вместо 'Route :: get ('/ login ',' ... '); '. Поэтому очень сложно писать маршруты и ссылки таким образом, когда вы переносите приложение с локального хоста на этот сервер. –

ответ

1

Я нашел простое решение. Я создал .env.php папки внутри проекта, который выглядит как

return array(
    'ROUTES_PREFIX' => 'prefix', 
); 

затем добавил этот код на все маршруты

Route::group(array('prefix' => $_ENV['ROUTES_PREFIX']), function() { 
    // routes here 
}); 

и созданный пользовательский макрос для style, script и image. Например мой макрос style выглядит следующим образом

HTML::macro('extendedStyle', function($url, $attributes = array(), $secure = null) { 
    $prefix = $_ENV['ROUTES_PREFIX'] == '' ? '' : $_ENV['ROUTES_PREFIX'] . '/'; 
    return HTML::style($prefix . $url, $attributes, $secure); 
}); 

Я надеюсь, что кто-то найдет это полезным.

Смежные вопросы