2014-04-23 17 views
5

Sto eseguendo il mio sito laravel nel mio localhost, funziona perfettamente. Ma quando provo a eseguire il mio sito nel server di hosting, ho ricevuto 500 errori interni del server? È a causa del mio file .htaccess o I remove public url?Laravel - Errore interno server 500

mio file .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

Avete qualche informazione sul telecomando e sul vostro sistema locale? – Stony

+0

cosa intendi? Non sto seguendo. –

+0

Windows, Mac o Linux? Cosa usi sui sistemi? Cosa succede se si rimuove mod_negotiation.c? E se riscrivi almeno il blocco del modulo mod_rewrite? Quindi puoi essere sicuro di avere un errore di sintassi. – Stony

risposta

0

assicurarsi che si sta utilizzando una versione supportata di PHP e che le cartelle hanno 755 permesso.

È inoltre possibile controllare il file di registro di Laravel per ulteriori informazioni su cosa ha causato l'errore 500. Se non ci sono voci nel file di log, il problema potrebbe venire dal .htaccess.

2

Prova questa sul terminale:

sudo chmod -R 755 <your_laravel_project> 

e

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

mi sono imbattuto in un problema simile con il mio fornitore di hosting condiviso. Laravel utilizza la cartella public per i file che sono direttamente accessibili per il browser dei visitatori. Questa dovrebbe essere la radice dello spazio web nell'host condiviso.

Il problema si verifica quando viene chiamato il numero index.php in /public e tenta di accedere ai file all'esterno (un livello superiore) della radice dello spazio web. Normalmente questo non è permesso.

Si (o il proprio provider di hosting) è necessario modificare il valore open_basedir nelle impostazioni php.

Sul mio lo ospita si presentava così:

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

ho cambiato in

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

e ha funzionato.

Problemi correlati