2015-02-06 131 views
1

我需要發佈我的網絡應用程序寫在laravel 4, 我已經在互聯網上遵循了很多教程,但我無法使其正常工作。laravel發佈網站問題

我是在CentOS 6.6,其中駐留在另一網站這樣laravel應用程序應該被放置在一個名爲子文件夾奉獻服務器上vols

這是當前文件夾結構:

/ 
    var/ 
    www/ 
     laravel/ 
      app/ 
      bootstrap/ 
      vendor/ 
      ... 
     html/ 
      vols/ 
      other files of my website 

我「VE修改的路徑內bootstrap/paths.php

'app' => __DIR__.'/../../laravel/app' 
'public' => __DIR__.'/../../html/vols' 
'base' => __DIR__.'/../../laravel' 
'storage' => __DIR__.'/../../laravel/app/storage' 

和路徑內vols/index.php

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

我的第一個控制器名爲volunteers,所以如果訪問http://mydomain/vols我應該被重定向到​​ 相反,我看到此錯誤消息:The requested URL /vols/volunteers was not found on this server.

,如果我嘗試連接到http://mydomain/vols/index.php/volunteers一切正常,但我不在我的路線中不需要index.php。

我覺得我應該對.htaccess工作vols文件夾內,但我從來沒有研究它如何工作,所以我只是從互聯網上與volspublic複製一些隨機片段。

目前,它看起來像這樣

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_URI} !^vols 
    RewriteRule ^(.*)$ vols/$1 [L] 
</IfModule> 

一些解決方案建議創建的虛擬主機,在技術上我能做到這一點,但我不知道怎麼辦。

你能幫我嗎?

回答

0

您應該將以下的.htaccess在二卷文件夾 -

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 
RewriteBase /vols/ 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 
+0

這似乎是默認的,這是不工作,我不知道爲什麼! – Janky 2015-02-06 12:08:08

+0

你會得到什麼錯誤?你是否確定mod_rewrite已啓用? – Gal 2015-02-06 15:38:34

+0

這是一個404:在此服務器上找不到請求的URL/vols /志願者。 from php info,mod_rewrite,在加載的模塊之間 – Janky 2015-02-07 05:44:06