php - Laravel 8 404 api routes in production
I have never had this issue before, it was working perfectly and after I reinstalled the server I now got a 404
when I call my 0.0.0.0/api/students/show
.
I did composer production
call on SSH to create latest autoloader. Cleared the cache for php artisan
, the normal steps to setup a Laravel production app. But I still get 404
when I call the API endpoint.
Maybe the problems is something with chmod
rights? Storage, etc. is already done...
Answer
Solution:
In your apache2.conf
make sure you've AllowOverride All
and not AllowOverride none
.
Example
<Directory /var/www/html/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Answer
Solution:
You should not need to write Directory
at all.
This is my working page custom .conf
file on sites-available
folder:
<VirtualHost *:80>
ServerName matiaslauriti.dev
ServerAlias www.matiaslauriti.dev
Redirect 301 / https://matiaslauriti.dev
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName matiaslauriti.dev
ServerAlias www.matiaslauriti.dev
DocumentRoot /var/www/html/public
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/matiaslauriti.dev/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/matiaslauriti.dev/privkey.pem
</VirtualHost>
</IfModule>
What I do have on my apache2.conf
is default, I did not change anything:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options +FollowSymLinks -Indexes
AllowOverride All
Require all granted
</Directory>
Source