Vai al contenuto

Come rimuovere public dall'url di Laravel


Askancy

Messaggi raccomandati

  • Admin

hq720.jpg

 

Come rimuovere public dall'url di Laravel?

Se stai sviluppando un'applicazione web con Laravel, probabilmente ti sei imbattuto nel problema di avere la parola "public" nell'url del tuo sito. Questo può essere fastidioso per vari motivi: estetici, di sicurezza o di SEO. In questo post, ti spiegherò come rimuovere public dall'url di Laravel in modo semplice e veloce.

Ci sono due modi principali per farlo: modificare il file .htaccess o spostare i file nella cartella public. Vediamo i pro e i contro di entrambi i metodi.

Modificare il file .htaccess

Il file .htaccess è un file che contiene delle direttive per il server web Apache, che è il più usato per ospitare le applicazioni Laravel. Questo file si trova nella cartella public del tuo progetto Laravel e serve a definire le regole di reindirizzamento degli url.

Per rimuovere public dall'url di Laravel, puoi modificare il file .htaccess in questo modo:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Rimuove public dall'url
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ /public/$1 [L,QSA]

    # Reindirizza le richieste al front controller
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Questo codice fa due cose: prima, controlla se l'url contiene la parola "public" e, in caso negativo, la aggiunge prima di passare la richiesta al server. Poi, reindirizza tutte le richieste che non corrispondono a una cartella o a un file esistente al file index.php, che è il front controller di Laravel.

Questo metodo ha il vantaggio di essere semplice e veloce da implementare, ma ha anche degli svantaggi. Il principale è che espone il contenuto della cartella public, che potrebbe contenere dei file sensibili o non necessari all'utente finale. Inoltre, potrebbe causare dei problemi con alcuni servizi di hosting che non permettono di modificare il file .htaccess o che hanno delle configurazioni diverse da quelle predefinite.

Spostare i file nella cartella public

Un altro modo per rimuovere public dall'url di Laravel è spostare i file che si trovano nella cartella public nella cartella principale del tuo progetto Laravel. Questo significa che dovrai copiare i file index.php, .htaccess e favicon.ico nella cartella superiore e modificare il file index.php in questo modo:

// Cambia questa riga
require __DIR__.'/../vendor/autoload.php';

// In questa
require __DIR__.'/vendor/autoload.php';

// Cambia questa riga
$app = require_once __DIR__.'/../bootstrap/app.php';

// In questa
$app = require_once __DIR__.'/bootstrap/app.php';

Questo codice serve a cambiare il percorso dei file che vengono richiamati dal front controller, in modo che puntino alla cartella corretta.

Questo metodo ha il vantaggio di non esporre la cartella public e di non dipendere dal file .htaccess o dal server web. Tuttavia, ha anche degli svantaggi. Il principale è che devi spostare manualmente i file ogni volta che aggiorni la tua applicazione Laravel o che installi delle nuove dipendenze con Composer. Inoltre, potresti avere dei problemi con alcuni servizi di hosting che richiedono che la cartella public sia la root del tuo sito.

Conclusione

In questo post, ti ho mostrato come rimuovere public dall'url di Laravel con due metodi diversi: modificare il file .htaccess o spostare i file nella cartella public. Entrambi i metodi hanno dei pro e dei contro, quindi devi scegliere quello che si adatta meglio alle tue esigenze e alle tue preferenze. Controlla che il file .env non sia visibile dal pubblico una volta effettuato queste modifiche.

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.