install multiple Laravel 4 projects to sub directories

房东的猫 提交于 2019-12-03 03:38:38

move all content include index.php in each public directory to Store, Blog and Newspaper respectively. and change the following line:

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

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

to

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

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

good luck.

EDIT: Sorry. You have to edit /bootstrap/paths.php as well, change

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

to

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

Looks like my development structure here is exactly what you're trying to do. So I have this folder structure:

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

This is my VirtualHost file /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>

Yeah, I put it in my project folder and add an include in /etc/apache2/apache2.conf:

Include /var/www/Store/vhost.conf

This is my .htaccess file:

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

And I just have to hit

 http://server.dev/Store

or

 http://[ipaddress]/Store

To see it.

I've built a small script to do all that for me: https://github.com/antonioribeiro/laravel-installer. It downloads, installs, configures and boot a Laravel application in whatever folder I need to, doing whatever is necessary. Compatible with Debian based distros, like Ubuntu.

EDIT

Note that there are two things that remove the /public and the /index.php from your url:

1) the /Store pointing directly to your public folder:

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

2) and the rewriting rule to keep your url clean from the index.php:

RewriteRule ^(.*)$ /Store/index.php/?$1 [L]
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!