我試圖讓我的用戶之一安裝在Web根目錄的子文件夾中的Laravel 4應用程序。我知道有整個框架可通過網絡訪問的主要安全問題。我計劃在理解如何實現這一目標之後分別解決這些問題。如何在Apache用戶目錄的子文件夾中使用Laravel應用程序
我已經嘗試了Apache別名和重寫規則的所有組合,我可以想到,但似乎沒有任何工作。這裏是我的目錄結構:
/home/username/public_html
.htaccess
my_laravel_app/
app/
bootstrap/
public/
.htaccess
index.php
robots.txt
...etc (standard Laravel 4 public folder contents)
vendor/
...etc (standard Laravel 4 files and folders)
第一.htaccess
文件中,一個用戶public_html
目錄下直接上市,包含以下內容:
AuthType Basic
AuthName Private
Authuserfile /path/to/.htpasswd
Require valid-user
第二.htaccess
是一個標準的Laravel 4 .htaccess
文件。它包含以下內容:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
我想這my_laravel_app/public
目錄基本上是當作一個根目錄,從而使Laravel應用程序的運行方式相同它將如果一個正常的Laravel直接安裝在域。
我相信我只需要編輯第一個.htaccess文件來包含重寫規則,發送任何請求到/my_laravel_app
到my_laravel_app/public
,但我似乎無法得到這個工作。誰能幫忙?
如果我沒有弄錯,最後的重寫應該是'/ my_laravel_app/public/index.php'。哦,你也可以修改重寫條件。我已經在另一臺服務器上完成了,讓我看看它 – MiltoxBeyond
可能重複的_ [如何安裝Laravel 4到Web主機子文件夾沒有公開暴露/應用程序/文件夾?](http://stackoverflow.com/questions/16683046/如何安裝laravel-4-a-web-host-subfolder-without-public-exposing-app)_並且,你可能會發現這個答案很有用:http://stackoverflow.com/a/27350400/ 1947276 –