Laravel funcionando desde la raíz del proyecto

Tengo que subir un proyecto a un servidor «raro» que no me
permite tocar nada de la configuración, por lo que no puedo especificar que tire
de la carpeta public. Es algo más inseguro pero la única opción que he visto es
hacer que tire de la raíz del proyecto.  Para ello he seguido los siguientes pasos:

Renombrar /server.php como index.php y cambiar el código

require_once __DIR__ . '/public/index.php';

por

require_once __DIR__ . '/public/server.php';

Crear un fichero .htaccess en el raíz con el código:


<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -Indexes
</IfModule>
<FilesMatch "\.(json|xml|lock|env|example|gitattributes|gitignore)$">
Order allow,deny
Deny from all
</FilesMatch>
<Files artisan>
Order allow,deny
Deny from all
</Files>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Borrar el fichero  /public/.htaccess
Renombrar el fichero /public/index.php por /public/server.php

Logicamente hay que evitar subir los fichero composer, webpack, etc y cuando queramos hacer referencia a un asset la nueva ruta será con public, por ejemplo «{{ asset(‘public/js/app.js’) }}»

Dejar un comentario?

0 Comentarios.

Deje un comentario


NOTA - Puede usar estosHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.