> 백엔드 개발 > PHP 튜토리얼 > 空间的根目录定死了,但是laravel的index一定要放public,怎么办

空间的根目录定死了,但是laravel的index一定要放public,怎么办

WBOY
풀어 주다: 2016-06-06 20:09:26
원래의
1295명이 탐색했습니다.

买了个50块一年的空间,支援PHP,但是根目录定死为www了,也就是说index.html过index.php一定要放这里,可是laravel框架的index.php一定要放在public里面,我该怎么做呢?

回复内容:

买了个50块一年的空间,支援PHP,但是根目录定死为www了,也就是说index.html过index.php一定要放这里,可是laravel框架的index.php一定要放在public里面,我该怎么做呢?

Laravel这样的牛逼框架真心不适合虚拟主机,真心推荐购买ECS类产品。

当然,解决办法还是有的:
1.首先把./public目录下把.htaccess, index.php, favicon.ico移到外面
(与app, bootstrap, public, vendor文件夹同层)
2.修改index.php

<code class="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';</code>
로그인 후 복사

Done!

这个应该可以改的吧,虽然我没试验过哈。实际上服务器上你能用到的目录是
/ 根目录
/www web目录
你可以把www当做public使用,然后其他的源码放在根目录下就可以了,在调整一下设置,感觉问题不会很大。我用这个的经验不过,以前版本里面有bootstrap/paths.php,其中就有
'public' => __DIR__.'/../public',
改了就行了

另一个就是看看你的服务商提供的文档了,是不是可以自定义某些设置,有的主机允许用户扩展apache的配置文件以及自定义php.ini。

这种把可以公开访问的资源放在public下面的做法是为了保护其它的源码被意外访问,所以不建议将public和普通源码设置为相同的目录。

做个软连接把www映射到public可以么?

其实有个很简单的方法,你把根目录下的server.php重命名为index.php不就可以了
访问的时候就是 http://XXX.com/index.php/你的路由

使用nginx
修改配置
server {

<code>    listen       80 default_server;
    server_name  www.my_job.com;
    root www/my_job/public;</code>
로그인 후 복사

}

外面index.php引入public/index.php不知道行不行,没用过la

这个简单啊,虚拟云主机的服务器应该都开启rewrite模块的吧,写个rewrite就行,不需要改动任何laravel源码

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿