установить несколько проектов Laravel 4 в подкаталоги

Я пытаюсь загрузить несколько проектов Laravel 4 на свой веб-сервер, а не на сервер разработки. Каждое приложение laravel 4 размещается в собственном подкаталоге. Как должна быть моя файловая структура? Я искал вокруг htaccess для удаления / public из URL-адреса, но я не увенчался успехом. этот сервер предназначен только для тестирования, он позволяет другим следить за тем, как строится проект. Я знаю, что их основные проблемы с безопасностью оставляют базовую структуру laravel в этих каталогах, но опять же они предназначены только для тестирования, а когда проекты завершены, они удаляются и размещаются на собственном сервере хостинга. Это моя файловая структура:

-public_html/ main website html files -Test Site Subdirectory Folder -subdirectoryFolder -Store/ -laravel app 1 -blog/ -laravel app 2 -newspaper -laravel app 3 

если я устанавливаю приложение laravel в каждую папку подкаталога ( www.testsite.com/Store , www.testsite.com/blog , www.testsite.com/newspaper ), каждое приложение работает, однако я пытаюсь удалить публикацию в конце url, www.testsite.com/Store/public – это то, что показано в браузере. Любая помощь с этой проблемой очень ценится. Спасибо.

переместите весь контент, включая index.php в каждый общедоступный каталог в Магазин, Блог и Газету соответственно. и измените следующую строку:

 require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/start.php'; 

в

 require __DIR__.'/bootstrap/autoload.php'; $app = require_once __DIR__.'/bootstrap/start.php'; 

удачи.

EDIT : Извините. Вам также нужно отредактировать /bootstrap/paths.php , изменить

  'public' => __DIR__.'/../public', 

в

 'public' => __DIR__.'/../', 

Похоже, моя структура разработки здесь именно то, что вы пытаетесь сделать. Поэтому у меня есть эта структура папок:

 var |-- www |-- Store | |-- app | |-- bootstrap | |-- ... |-- blog |-- app |-- bootstrap |-- ... 

Это мой файл VirtualHost /var/www/Store/vhost.conf :

 Alias /Store "/var/www/Store/public" <Directory /var/www/Store> Options Indexes Includes FollowSymLinks MultiViews AllowOverride AuthConfig FileInfo Indexes Order allow,deny Allow from all </Directory> 

Да, я поместил его в папку проекта и добавил include в /etc/apache2/apache2.conf:

 Include /var/www/Store/vhost.conf 

Это мой файл .htaccess:

 <IfModule mod_rewrite.c> #Options -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /Store/index.php/?$1 [L] </IfModule> 

И мне просто нужно ударить

  http://server.dev/Store 

или

  http://[ipaddress]/Store 

Чтобы увидеть это.

Я построил небольшой скрипт, чтобы сделать все это для меня: https://github.com/antonioribeiro/laravel-installer . Он загружает, устанавливает, настраивает и загружает приложение Laravel в любую папку, в которой я нуждаюсь, делая все, что необходимо. Совместимость с дистрибутивами на базе Debian, такими как Ubuntu.

РЕДАКТИРОВАТЬ

Обратите внимание, что есть две вещи, которые удаляют /public и /index.php из вашего URL:

1) / Store, указывающий прямо на вашу общую папку:

 Alias /Store "/var/www/Store/public" 

2) и правило перезаписи, чтобы сохранить ваш URL-адрес в index.php :

 RewriteRule ^(.*)$ /Store/index.php/?$1 [L]