2013-03-25 43 views
1

對於我的一個客戶,我正在建立一個網站。爲此,我使用Laravel框架。 現在我知道最好的做法是將公共目錄設置爲DocumentRoot,但問題是,我不能。 所以我做了一些研究,我看到你可以使用.htaccess來處理這個小問題。 這對laravel論壇片段如下:這部分htaccess有什麼問題

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

但是當我嘗試,我得到一個500內部服務器錯誤。 我發現問題是第四行的(.*)部分......但我只是看不出它有什麼問題。

所以沒有任何人知道什麼是錯在這個片段中,爲什麼我得到一個500錯誤...

回答

2

你幾乎沒有。 REQUEST_URI包含前導斜槓/。所以,你必須說

RewriteCond %{REQUEST_URI} !^/public 
0

不要改變公共文件夾路徑,只需複製通常laravel樹,並使用以下的 /public/.htaccess

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

這個工作對我來說L3。