Opzione 1: usa .htaccess
Se non è già presente, crea un file .htaccess nella directory root di Laravel. Crea un .htaccess
file nella tua directory principale di Laravel se non esiste già. (Normalmente è nella tua public_html
cartella)
Modifica il file .htaccess in modo che contenga il codice seguente:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Ora dovresti essere in grado di accedere al sito web senza la parte "/public/index.php/".
Opzione 2: sposta gli elementi nella directory "/ public" nella directory principale
Crea una nuova cartella nella directory principale e sposta tutti i file e le cartelle tranne la cartella pubblica. Puoi chiamarlo come vuoi. Userò "laravel_code".
Quindi, sposta tutto fuori dalla directory pubblica e nella cartella principale. Dovrebbe risultare in qualcosa di simile a questo:
Dopodiché, tutto ciò che dobbiamo fare è modificare le posizioni nel laravel_code/bootstrap/paths.php
file e nel index.php
file.
In laravel_code/bootstrap/paths.php
trova la seguente riga di codice:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../public',
E modificali in:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../../',
In index.php
, trova queste righe:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
E modificali in:
require __DIR__.'/laravel_code/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel_code/bootstrap/start.php';
Fonte: come rimuovere / public / dall'URL in Laravel
mod_rewrite
sia abilitato.