{"id":3977,"date":"2023-03-19T12:42:21","date_gmt":"2023-03-19T18:42:21","guid":{"rendered":"https:\/\/linuxitos.com\/main\/?p=3977"},"modified":"2023-03-19T12:44:38","modified_gmt":"2023-03-19T18:44:38","slug":"eliminar-segmento-public-en-laravel-10","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/eliminar-segmento-public-en-laravel-10\/","title":{"rendered":"Eliminar segmento public en Laravel 10"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_remove_segment_public.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_remove_segment_public.png\" alt=\"\" class=\"wp-image-3982\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_remove_segment_public.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_remove_segment_public-300x150.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_remove_segment_public-768x384.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"contexto\">Contexto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9sto es m\u00e1s que nada por comodidad, y solo debe usar en entorno de desarrollo de la aplicaci\u00f3n web que se este trabajando, ya que como tal en producci\u00f3n, se debe utilizar el directorio public para poner los archivos p\u00fablicos de los proyectos en Laravel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"la-idea\">La idea<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando se crea un proyecto en laravel, por defecto se debe utilizar php artisan serve y la IP en la que se mostrar\u00e1 la aplicaci\u00f3n, sin embargo, si se hace un storage link, entonces se puede acceder v\u00eda url a la aplicaci\u00f3n directa sin necesidad de lanzar la aplicaci\u00f3n mediante php artisan serve. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La url por defecto es la siguiente:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>http:\/\/localhost\/laravel\/public\/<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, lo ideal y est\u00e9tico ser\u00eda utilizar la url sin ese segmento de public:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>http:\/\/localhost\/laravel\/<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"proceso\">Proceso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Realizar \u00e9stos cambios implica realizar los siguientes pasos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Copiar los archivos <strong>index.php<\/strong> y <strong>.htaccess<\/strong> del directorio public\/ y copiarlos al directorio root del proyecto, es decir, a la ra\u00edz del proyecto que se est\u00e9 trabajando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"htaccess\">.htaccess<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez realizada la copia de archivos, abrir el archivo <strong>.htaccess<\/strong> y agregar al final del mismo las siguientes l\u00edneas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Disable directory browsing\nOptions All -Indexes\n\n# ----------------------------------------------------------------------\n# Rewrite engine\n# ----------------------------------------------------------------------\n\n# Turning on the rewrite engine is necessary for the following rules and features.\n# FollowSymLinks must be enabled for this to work.\n&lt;IfModule mod_rewrite.c>\n\tOptions +FollowSymlinks\n\tRewriteEngine On\n\n\t# If you installed CodeIgniter in a subfolder, you will need to\n\t# change the following line to match the subfolder you need.\n\t# http:\/\/httpd.apache.org\/docs\/current\/mod\/mod_rewrite.html#rewritebase\n\t# RewriteBase \/\n\n\t# Redirect Trailing Slashes...\n\tRewriteCond %{REQUEST_FILENAME} !-d\n    \tRewriteRule ^(.*)\/$ \/$1 &#91;L,R=301]\n\n\t# Rewrite \"www.example.com -> example.com\"\n\tRewriteCond %{HTTPS} !=on\n\tRewriteCond %{HTTP_HOST} ^www\\.(.+)$ &#91;NC]\n\tRewriteRule ^ http:\/\/%1%{REQUEST_URI} &#91;R=301,L]\n\n\t# Checks to see if the user is attempting to access a valid file,\n    # such as an image or css document, if this isn't true it sends the\n    # request to the front controller, index.php\n\tRewriteCond %{REQUEST_FILENAME} !-f\n\tRewriteCond %{REQUEST_FILENAME} !-d\n\tRewriteRule ^(.*)$ index.php\/$1 &#91;L]\n\n\t# Ensure Authorization header is passed along\n    RewriteCond %{HTTP:Authorization} .\n    RewriteRule .* - &#91;E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\n&lt;\/IfModule>\n\n&lt;IfModule !mod_rewrite.c>\n    # If we don't have mod_rewrite installed, all 404's\n    # can be sent to index.php, and everything works as normal.\n    ErrorDocument 404 index.php\n&lt;\/IfModule>\n\n# Disable server signature start\n    ServerSignature Off\n# Disable server signature end\n\n&lt;Files .env>\norder allow,deny\nDeny from all\n&lt;\/Files><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"index-php\">index.php<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Abrir el archivo index.php y buscar las siguientes dos l\u00edneas, y cambiarlas como se muestra:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>require __DIR__.'\/..\/vendor\/autoload.php';\n\n&#91;...]\n\n$app = require_once __DIR__.'\/..\/bootstrap\/app.php';<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cambiar el c\u00f3digo a lo siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>require __DIR__.'\/vendor\/autoload.php';\n\n&#91;...]\n\n$app = require_once __DIR__.'\/bootstrap\/app.php';<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"lanzando-cambios\">Lanzando cambios<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente en el archivo .env del directorio ra\u00edz, se debe establecer la url completa de la aplicaci\u00f3n web:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>APP_URL=http:\/\/localhost\/laravel\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora solo iniciar desde el navegador con esa url, y listo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"660\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-10-1024x660.png\" alt=\"\" class=\"wp-image-3980\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-10-1024x660.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-10-300x193.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-10-768x495.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-10.png 1434w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Gracias por visitar<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fuentes:<br>&#8211; <a href=\"https:\/\/stackoverflow.com\/questions\/62128581\/how-to-remove-public-from-url-in-laravel#62128647\">https:\/\/stackoverflow.com\/questions\/62128581\/how-to-remove-public-from-url-in-laravel#62128647<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Contexto \u00c9sto es m\u00e1s que nada por comodidad, y solo debe usar en entorno de desarrollo de la aplicaci\u00f3n web que se este trabajando, ya que como tal en producci\u00f3n, se debe utilizar el directorio public para poner los archivos p\u00fablicos de los proyectos en Laravel. La idea Cuando se crea un proyecto en laravel, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3982,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1889,1151,1890,10],"tags":[1691,1638,1913,1914],"class_list":["post-3977","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollo-web","category-install-xampp","category-web-development","category-xampp","tag-htaccess","tag-laravel","tag-public","tag-segemento-public"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/comments?post=3977"}],"version-history":[{"count":2,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3977\/revisions"}],"predecessor-version":[{"id":3984,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3977\/revisions\/3984"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media\/3982"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=3977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=3977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=3977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}