空間的根目錄定死了,但是laravel的index一定要放public,怎麼辦

來源:互聯網
上載者:User
關鍵字 laravel-5 laravel5 php 網站 網站程式
買了個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

require __DIR__.'/../bootstrap/autoload.php';$app = require_once __DIR__.'/../bootstrap/start.php';//改成以下require __DIR__.'/bootstrap/autoload.php';$app = require_once __DIR__.'/bootstrap/start.php';

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 {

    listen       80 default_server;    server_name  www.my_job.com;    root www/my_job/public;

}

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

這個簡單啊,虛擬雲主機的伺服器應該都開啟rewrite模組的吧,寫個rewrite就行,不需要改動任何laravel源碼

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.