2014-04-23 19 views
5

Używam mojej witryny w serwisie laravel w moim localhost, działa dobrze. Ale kiedy próbuję uruchomić moją witrynę na serwerze hostingowym, mam 500 błędów wewnętrznego serwera? Czy to z powodu mojego pliku .htaccess lub I remove public url?Laravel - błąd wewnętrznego serwera 500

Mój plik .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> 
+0

Czy masz informacje o pilocie i systemie lokalnym? – Stony

+0

co masz na myśli? Nie idę za tobą. –

+0

Windows, Mac lub Linux? Czego używasz w systemach? Co się stanie, jeśli usuniesz mod_negotiation.c? A jeśli przepisujesz co najmniej blok modułu mod_rewrite? Wtedy możesz być pewien, że masz błąd składni. – Stony

Odpowiedz

0

Upewnij się, że używasz obsługiwanej wersji PHP i foldery, które mają 755 zgody.

Możesz również sprawdzić plik dziennika Laravel, aby dowiedzieć się nieco więcej o tym, co spowodowało błąd 500. Jeśli w pliku dziennika nie ma wpisu, problem może pochodzić z .htaccess.

2

Spróbuj na terminalu:

sudo chmod -R 755 <your_laravel_project> 

i

chmod -R o+w <your_laravel_project>/storage 
0

wpadłem na podobny problem z moim Shared hosting provider. Laravel używa folderu public dla plików, które są bezpośrednio dostępne dla przeglądarki odwiedzających. Powinien to być główny katalog przestrzeni wspólnej hostingu.

Problem występuje, gdy wywoływana jest index.php w /public i próbuje uzyskać dostęp do plików znajdujących się na zewnątrz (poziom wyżej) katalogu głównego obszaru. Zwykle jest to niedozwolone.

Użytkownik (lub dostawca usług hostingowych) musi zmienić wartość open_basedir w ustawieniach php.

na moim gospodarzem wyglądało to tak:

{WEBSPACEROOT}{/}{:}{TMP}{/} 

Zmieniłem go

{WEBSPACEROOT}{/}{:}{TMP}{/}{:}{WEBSPACEROOT}{/../} 

i to działało.

Powiązane problemy