Laravel get 500 internal server error
Solution 1
Your problem is with .htaccess file. In goDaddy they wont set RewriteBase
so you have to give it in your .htaccess file. The complete code would like this. This worked with my laravel portfolio site
<Limit GET POST PUT DELETE>
#For REST support
Allow from all
</Limit>
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteBase / # <------------ This one you missed
#Just to redirect to www.site.com when only site.com comes
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST} [R=301,L]
#end of codes
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Solution 2
After a couple of hours searching, this solved the problem:
Make sure index.php within /public_html has 644 permissions (mine was 664 and that was the cause of the Internal Server Error).
Solution 3
I must comment this lines in .htaccess and it works:
#<IfModule mod_negotiation.c>
# Options -MultiViews
#</IfModule>
Solution 4
Make sure you have the Vendor folder uploaded in the server it can cause 500 error.
user3483754
Updated on July 09, 2022Comments
-
user3483754 almost 2 years
I had laravel project on share hosting, and my structure app is
/home/username `->fontEndApps ( my laravel apps )` `->backendApps ( my laravel apps )` `->public_html`
in public html I put the index.php, htaccess and admin folder, in admin folder there is index.php and htaccess
backend is working fine but the front end when I try to access www.domain.com/segment1 or www.domain.com/segment1/segment2 I always got 500 internal server error, and this is my htaccess file for front end and back end
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options +FollowSymLinks </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>
please help me to figure out this problem
-
Ned over 9 yearshey, where did you put this? In public folder, or root?
-
Sanoob over 9 years@Ned In
public
folder. Apache looks into public folder. -
Rafee over 6 yearsWorks very with Laravel 5.5 on 1and1 hosting with php7.1