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>

Original Answer

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