Te recomendamos que revises esta solución en un ambiente controlado antes de enviarlo a producción, saludos.
Solución:
Supongamos que tiene esta estructura de carpetas en su servidor
.cpanel/
public_html/
public_ftp/
..
Y la estructura de carpetas de laravel es
app/
bootstrap/
public/
vendor/
composer.json
artisan
..
Puede crear un nombre de carpeta mylaravelsite en su servidor en línea con public_html
y public_ftp
carpeta, y copie en ella toda la aplicación laravel excepto la carpeta pública porque pegará todo su contenido en la carpeta public_html
entonces tienes ahora:
.cpanel/
public_html/
public_html/packages
public_html/vendor
public_html/index.php
public_html/.htaccess
...
public_ftp/
mylaravelsite/
mylaravelsite/app
mylaravelsite/bootstrap
...
En tu public_html/index.php
cambiar la siguiente línea:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
a
require __DIR__.'/../mylaravelsite/bootstrap/autoload.php';
$app = require_once __DIR__.'/../mylaravelsite/bootstrap/start.php';
y no te olvides de cambiar /mylaravelsite/bootstrap/paths.php
ruta pública, puede usarla.
'public' => __DIR__.'/../public',
a
'public' => __DIR__.'/../../public_html',
Su sitio debería estar funcionando.
Cree .htaccess en la carpeta raíz y escriba estas líneas
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
Para el servidor de producción, se recomienda que apunte su dominio directamente a la carpeta pública
Parece que la información que te falta es:
Raiz del documento
Esto también se llama la “raíz web”. Apache lo llama específicamente DocumentRoot: haga clic en ese enlace para obtener la explicación oficial.
Básicamente, lo que hace es establecer de qué directorio extrae los archivos el servidor. En Laravel, la raíz del documento debe ser el public
carpeta.
Establecer DocumentRoot en public
significa que ir a http://mylaravelsite.com
en el navegador de hecho estará “apuntando” a la public
carpeta como quieras.
En el archivo .htaccess (en realidad, más probablemente en la configuración del host virtual), puede configurar el DocumentRoot
para su sitio:
DocumentRoot /path/to/laravel-app/public
La forma en que configure esto depende de su alojamiento. Cada alojamiento tiene diferentes formas de configurar un sitio web y, por lo tanto, no podemos responder eso específicamente para usted; debe consultar el soporte técnico de su alojamiento web. los key el punto es que el public
El directorio debe ser la raíz web, mientras que todo lo demás debe estar “detrás de la raíz web”.
Sin embargo, una advertencia justa: algunos proveedores de alojamiento no le brindan suficiente acceso para lograr eso.
valoraciones y comentarios
Si posees algún interrogante o capacidad de progresar nuestro enunciado eres capaz de ejecutar una referencia y con placer lo observaremos.