2015-04-09 2 views
-1

Я запускал проект laravel в моей машине разработки под ремесленником на порте 8000, теперь мне нужно перенести его на производственный сервер (ubuntu), который настроен под apache, я бы сейчас хотел изменить к моему проекту, чтобы работать отлично.Проект Laravel от artisan до apache

+2

rtfm .. http://laravel.com/docs/4.2#pretty-urls – fire

+0

Возможный дубликат [Apache Mod Rewrite For Laravel] (http://stackoverflow.com/questions/12448912/apache-mod-rewrite -для-Laravel) – Carsten

ответ

1

Вот конфигурация я использую для большинства моих проектов (Однако это может быть сделано в других различных способах)

поместить содержимое public директории вашего Laravel папки проекта DIST внутри public_html или www каталога Апача (/вар/WWW/HTML/ в Ubuntu 14.04

Положите остальную часть ваших Laravel файлов (все, кроме папки) вне public_html (рекомендуется по соображениям безопасности - особенно в производстве) - структура будет выглядетькак это на Ubuntu 14,04

- /var/www/ 
    - laravel 
     app 
     bootstrap 
     ... 
    - html 
     index.php 
     css 
     ... 

Изменение несколько значений:

Внутри index.php: изменение

require __DIR__.'/../bootstrap/autoload.php'

в

require __DIR__.'/../laravel/bootstrap/autoload.php'

и

$app = require_once __DIR__.'/../laravel/bootstrap/app.php'; в $app = require_once __DIR__.'/../laravel/bootstrap/app.php';

Внутри вашего Laravel/бутстрапе/paths.php файл:

'public' => __DIR__.'/../public' в 'public' => __DIR__.'/../../html'

Убедитесь, что файл .htaccess есть и если файл по умолчанию .htaccess вызывает проблемы, заменив его содержимое:

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

И удостоверьтесь, что у вас есть разрешение на запись laravel/app/storage.

1

Ваш проект не требует изменений. Вам просто нужно настроить правильный виртуальный хост apache2

Самое главное, чтобы вы установили DocumentRoot в свою общую папку.

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