Emm*_*ola 60 install subdirectory laravel laravel-4
我想知道是否有人知道在Web主机SUBDIRECTORY /子文件夹中安装Laravel 4的方法,而不是将/ app /文件夹和其他敏感文件暴露给主机的公共可访问部分.
我的想法是,我可以访问http://mydomain.com/mylaravel/以便能够使用Laravel,但与此同时我想避免任何人做某事像去http://mydomain.com/app /或http://mydomain.com/mylaravel/app/,基本上能够看到我的配置文件和其他代码.
Emm*_*ola 64
所以我想出了如何做到这一点.我将用一个例子来解释.
假设您是域名http://domain.com.以下是您可能使用的结构示例:
domain.com/ (the root of your web hosting)
|-- yourlaravel4_base/
|-- [some other folders...]
|-- public_html/ (where your html files and such go)
| |-- [some other folders...]
| |-- yourlaravel4/
Run Code Online (Sandbox Code Playgroud)
/public_html/是您的Web托管文件的公共可访问部分的根.您想在/public_html/(在这种情况下/public_html/yourlaravel4/)创建一个子文件夹.在此子文件夹中,您将存储Laravel 4 文件夹的所有内容public/.
现在,对于其余的文件.你必须去你的网络托管文件的根目录,也就是说,你想要在domain.com/水平,因此能够看到public_html/和其他一些文件夹.然后,我们需要在这里创建一个文件夹,其中将存储Laravel 4的基本文件.在这种情况下,它是domain.com/yourlaravel4_base/.在内部,yourlaravel4_base/我们需要存储基本Laravel 4目录中存在的每个文件和文件夹.这将是app/,bootstrap/,vendor/,server.php,等一切EXCEPT /public/文件夹,其内容你已经存储在public_html/yourlaravel4/.
最后,我们需要编辑2个文件:Laravel /bootstrap/paths.php和/public/index.php.
在paths.php文件中,替换:
'app' => __DIR__.'/../app',
Run Code Online (Sandbox Code Playgroud)
有:
'app' => __DIR__.'/../../yourlaravel4_base/app',
Run Code Online (Sandbox Code Playgroud)
在paths.php文件中,替换:
'public' => __DIR__.'/../public',
Run Code Online (Sandbox Code Playgroud)
有:
'public' => __DIR__,
Run Code Online (Sandbox Code Playgroud)
在paths.php文件中,替换:
'base' => __DIR__.'/..',
Run Code Online (Sandbox Code Playgroud)
有:
'base' => __DIR__.'/../../yourlaravel4_base',
Run Code Online (Sandbox Code Playgroud)
在paths.php,替换:
'storage' => __DIR__.'/../app/storage',
Run Code Online (Sandbox Code Playgroud)
有:
'storage' => __DIR__.'/../../yourlaravel4_base/app/storage',
Run Code Online (Sandbox Code Playgroud)
在index.php,替换:
require __DIR__.'/../bootstrap/autoload.php';
Run Code Online (Sandbox Code Playgroud)
有:
require __DIR__.'/../../yourlaravel4_base/bootstrap/autoload.php';
Run Code Online (Sandbox Code Playgroud)
在index.php,替换:
$app = require_once __DIR__.'/../bootstrap/start.php';
Run Code Online (Sandbox Code Playgroud)
有:
$app = require_once __DIR__.'/../../yourlaravel4_base/bootstrap/start.php';
Run Code Online (Sandbox Code Playgroud)
上传更改.现在,您应该可以将Laravel 4安装在网站的子文件夹中,而不会实际暴露app/文件夹和其他敏感文件.:)
Tom*_*Tom 28
您可以使用别名:no hankey-pankey,系统上包含广泛的目录.
在httpd.conf或admin-panel中指定:
/mylaravel/ /path/to/laravel/public
Run Code Online (Sandbox Code Playgroud)
此外,在Laravel的app.php中指定URL
第29行
'url' => 'http://yourdomain.com/mylaravel/',
Run Code Online (Sandbox Code Playgroud)
最终在/public/.htaccess中设置RewriteBase
RewriteBase /mylaravel/
Run Code Online (Sandbox Code Playgroud)
像魅力一样工作,保持您的目录结构清洁,重点!
小智 7
人,人!不需要过于复杂的事情!
(对于其他公用文件夹,例如htdocs或者www只是替换public_html以下文件夹.)
app文件夹位于文件夹旁边public_html)public到public_html(确保也移动隐藏文件,例如.htaccess!)public文件夹在bootstrap/path.php改变
'public' => __DIR__.'/../public', 至
'public' => __DIR__.'/../public_html',
| 归档时间: |
|
| 查看次数: |
52836 次 |
| 最近记录: |