Изменяем public директорию в Laravel 5
Доброго времени суток. Не так давно при переносе проекта на Laravel 5 столкнулся с проблемой. Хостинг не позволял изменить домашнюю директорию. В данной статье я расскажу, как изменить в Laravel 5 директорию public на необходимую.
И так, мне необходимо без последствий для проекта переименовать директорию public в www. Для этого необходимо сделать несколько действий:
Действие первое.
Открываем файл public/index.php и в конец него добавляем следующий код:
$app->bind('path.public', function() { return base_path() . '/www'; });
Действие второе.
Открываем файл server.php, который находится в корне проекта и строку:
if ($uri !== '/' and file_exists(__DIR__.'/public'.$uri)) {
меняем на
if ($uri !== '/' and file_exists(__DIR__.'/www'.$uri)) {
Действие третье.
В этом же файле server.php строку:
require_once __DIR__ . '/public/index.php';
меняем на:
require_once __DIR__ . '/www/index.php';
И действие четвертое.
В файле gulpfile.js, который находится в корне проекта, после строки:
var elixir = require('laravel-elixir');
Вставить строку:
elixir.config.publicDir = 'www';
Вот и все.
return base_patch() . ‘/www’;
надо на это заменить
return base_path() . ‘/www’;
И кстати спасибо!
@Саша
Поправил. И Вам спасибо за комментарий.
Что б не делать таких действий в кастоматизации ларавель лучше создать в корене сайта файл .htaccess со следующим содержымим:
RewriteEngine On
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]