Contexto

Ésto es más que nada en un proceso de pruebas y desarrollos de la apliación web que se este desarrollando, ya que como tal en producción, se debe utilizar el directorio public para poner los archivos públicos de los proyectos en laravel.

La idea

Cuando se crea un proyecto en laravel, por defecto se debe utilizar php artisan serve y la IP en la que se mostrará la aplicación, sin embargo, si se hace un storage link, entonces se puede acceder vía url a la aplicación directa sin necesidad de lanzar la aplicación mediante php artisan serve.

La url por defecto es la siguiente:

http://localhost/laravel/public/

Sin embargo, lo ideal y estético sería utilizar la url sin ese segmento de public:

http://localhost/laravel/

Proceso

Realizar éstos cambios implica realizar los siguientes pasos:

Copiar los archivos index.php y .htaccess del directorio public/ y copiarlos al directorio root del proyecto, es decir, a la raíz del proyecto que se esté trabajando.

.htaccess

Una vez realizada la copia de archivos, abrir el archivo .htaccess y agregar al final del mismo las siguientes líneas:

<Files .env>
order allow,deny
Deny from all
</Files>

index.php

Abrir el archivo index.php y buscar las siguientes dos líneas, y cambiarlas como se muestra:

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

[...]

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

Cambiar el código a lo siguiente:

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

[...]

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

Lanzando cambios

Finalmente en el archivo .env del directorio raíz, se debe establecer la url completa de la aplicación web:

APP_URL=http://localhost/laravel/

Ahora solo iniciar desde el navegador con esa url, y listo:

Gracias por visitar

Fuentes:
https://stackoverflow.com/questions/62128581/how-to-remove-public-from-url-in-laravel#62128647

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *