2012-10-08 17 views
5

Nie mogę znaleźć żadnych informacji na temat wykonywania instalacji Laravel w podfolderze.Instalowanie Laravel w podfolderze

Czy to możliwe? Czy jest to wymaganie Laravel do zainstalowania na poziomie root?

Mój dostawca hostingu nie pozwala mi tworzyć VirtualHosts i muszę zainstalować aplikację laravel obok co aktualnie się tam ...

UDPATE: okazuje się, że to głównie kwestia .htaccess:

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

Hi @Pierlo Upitup, jak rozwiązałeś swój problem. możesz wyjaśnić szczegółowo? Pozdrowienia. –

Odpowiedz

6

Po pierwsze, należy wziąć pod uwagę, że ta odpowiedź ma na celu tylko sprawdzenie, czy działa, nie jestem pewien co do ewentualnych konsekwencji związanych z bezpieczeństwem ze względu na to, że każdy folder znajduje się w publicznej części witryny.

Po drugie, po prostu próbowałem tego z instalacją barebone laravel, więc nie jestem pewien, czy może to mieć wpływ na późniejszy rozwój (moje przypuszczenie nie jest, ale nigdy nie wiadomo).

1) Skopiuj całą zawartość folderu public w folderze głównym laravel (który to podfolder)

2) Można teraz wyjąć pusty public folderu

3) edytować index.php i zmienić

// -------------------------------------------------------------- 
// Set the core Laravel path constants. 
// -------------------------------------------------------------- 
require '../paths.php'; 

do

// -------------------------------------------------------------- 
// Set the core Laravel path constants. 
// -------------------------------------------------------------- 
require './paths.php'; 

4) edit paths.php i zmienić

// -------------------------------------------------------------- 
// The path to the public directory. 
// -------------------------------------------------------------- 
$paths['public'] = 'public'; 

do

// -------------------------------------------------------------- 
// The path to the public directory. 
// -------------------------------------------------------------- 
$paths['public'] = '.'; 

5) Edytuj plik .htaccess w folderze laravel aby przekierować nie więcej do publicznego

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

cóż, przeniesienie całej zawartości folderu publicznego do katalogu głównego nie jest już tym, czego szukam, ponieważ foldery css, img i js będą kolidować z inną instalacją. Ponadto, jak już wspomniałem, należy pamiętać, że istnieje już niestandardowy framework anot na poziomie katalogu głównego, więc nadpisanie pliku /index.php nie jest możliwe. –

+0

Przez folder główny odnosiłem się do folderu root laravel, możesz umieścić go w folderze w swojej instalacji, a następnie uzyskać do niego dostęp w www.yourdomain.com/laravelfolder – mrzard

+0

Postępowałem zgodnie z Twoimi instrukcjami, ale otrzymuję błąd wewnętrzny serwera 500 . Co to może być? –