在子文件夹中安装Laravel

时间:2012-10-08 13:24:58

标签: php apache laravel

我无法找到有关在子文件夹中执行Laravel安装的任何信息。

甚至可以这样做吗?或者是否需要在根级别安装Laravel?

我的托管服务提供商不允许我创建VirtualHosts,我需要安装一个Laravel应用程序以及当前的那个...

UDPATE:事实证明它主要是.htaccess问题:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>

1 个答案:

答案 0 :(得分:6)

首先,请注意这个答案只是为了使其有效,我不确定这可能会对安全性产生什么影响,因为每个文件夹都在您网站的公共部分。

其次,我只是尝试使用准系统laravel安装,所以我不确定这是否会在开发后期产生影响(我的猜测不是,但你永远不知道)。

1)复制根laravel文件夹(这是你的子文件夹)中public文件夹的所有内容

2)您现在可以删除空的public文件夹

3)编辑index.php并更改

// --------------------------------------------------------------
// Set the core Laravel path constants.
// --------------------------------------------------------------
require '../paths.php';

// --------------------------------------------------------------
// Set the core Laravel path constants.
// --------------------------------------------------------------
require './paths.php';

4)编辑paths.php并更改

// --------------------------------------------------------------
// The path to the public directory.
// --------------------------------------------------------------
$paths['public'] = 'public';

// --------------------------------------------------------------
// The path to the public directory.
// --------------------------------------------------------------
$paths['public'] = '.';

5)编辑laravel文件夹中的.htaccess文件,使其不再重定向到公共

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>