{"id":4363,"date":"2024-07-30T17:08:36","date_gmt":"2024-07-30T23:08:36","guid":{"rendered":"https:\/\/linuxitos.com\/main\/?p=4363"},"modified":"2024-08-17T17:28:02","modified_gmt":"2024-08-17T23:28:02","slug":"url-directa-en-codeigniter-4-5","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/url-directa-en-codeigniter-4-5\/","title":{"rendered":"Url directa en Codeigniter 4.5"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/codev5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"860\" height=\"485\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/codev5.png\" alt=\"\" class=\"wp-image-4366\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/codev5.png 860w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/codev5-300x169.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/codev5-768x433.png 768w\" sizes=\"auto, (max-width: 860px) 100vw, 860px\" \/><\/a><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Contexto<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">El 27 de julio del 2024 fue lanzado una nueva versi\u00f3n del framework de codeigniter 4.5.4, y con ello algunos cambios en las rutas y uso de dicho framework.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En la versi\u00f3n actual ya no es tan f\u00e1cil poder usar la url directa en el nevegador, es decir que se descargue el framework y que se pueda acceder al desarrollo del proyecto que se est\u00e9 trabajando directamente desde la url, sino que se debe de lanzar con spark.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9ste depender\u00e1 de cada uno, pero cuando se trabaja en modo de desarrollo, se requieren realizar los procesos r\u00e1pidos, y en lo personal, prefiero configurar el entorno de manera directa, por lo que se realizan los siguientes cambios para poder utilizarlo desde la url directamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adicional a \u00e9ste configuraci\u00f3n, en los proyectos en entorno de desarrollo, en mi caso utilizo XAMPP, de tal modo que evito instalar PHP directamente en mi equipo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Crear un proyecto con composer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Crear un proyecto o descargar el framework desde github<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">composer create-project codeigniter4\/appstarter blog<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Modificar app\/Config\/App.php<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Abrir el archivo y buscar la l\u00ednea 61 que dice $uriProtocol y cambiarlo a PATH_INFO:<\/p>\n\n\n\n<pre style=\"background: rgb(242, 242, 242); border-radius: 2px; border: 1px solid #aaa; box-sizing: border-box; color: #222; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">[...]\n\npublic string $uriProtocol = 'PATH_INFO';\n\n[...]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez editado el archivo, guardar y salir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Archivo .env<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Modificar el archivo .env a\u00f1adiendo la url completa del proyecto:<\/p>\n\n\n\n<pre style=\"background: rgb(242, 242, 242); border-radius: 2px; border: 1px solid #aaa; box-sizing: border-box; color: #222; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">[...]\n\napp.baseURL = 'http:\/\/localhost\/blog\/'\n\n[...]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Guardar el archivo<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Archivo index.php<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Copiar el archivo index.php de la ruta del proyecto public\/ y pegarlo en la ra\u00edz del proyecto:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abrir el archivo y buscar la l\u00ednea que dice:<\/p>\n\n\n\n<pre style=\"background: rgb(242, 242, 242); border-radius: 2px; border: 1px solid #aaa; box-sizing: border-box; color: #222; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">[...]\n\nrequire FCPATH . '..\/app\/Config\/Paths.php';\n\n[...]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y reemplazarlo por:<\/p>\n\n\n\n<pre style=\"background: rgb(242, 242, 242); border-radius: 2px; border: 1px solid #aaa; box-sizing: border-box; color: #222; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">[...]\n\nrequire FCPATH . 'app\/Config\/Paths.php';\n\n[...]<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">A\u00f1adir archivo .htaccess<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">El siguiente archivo a\u00f1ade la funcionalidad para acceder a las urls, proteger algunas rutas y archivos de configuraci\u00f3n como el env:<\/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&gt;\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 -&gt; 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&gt;\n\n&lt;IfModule !mod_rewrite.c&gt;\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&gt;\n\n# Disable server signature start\n    ServerSignature Off\n# Disable server signature end\n\n&lt;Files .env&gt;\norder allow,deny\nDeny from all\n&lt;\/Files&gt;\n\n&lt;Files spark&gt;\norder allow,deny\nDeny from all\n&lt;\/Files&gt;\n\n&lt;FilesMatch \"\\.(ttf|otf|eot|woff|woff2)$\"&gt;\n\t&lt;IfModule mod_headers.c&gt;\n\tHeader set Access-Control-Allow-Origin \"*\"\n\t&lt;\/IfModule&gt;\n&lt;\/FilesMatch&gt;<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Permisos al proyecto<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente se requiere asignar los permisos necesarios para el correcto funcionamiento del proyecto los cuales son los siguientes:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo chown -R daemon:tuUsuario directorio_proyecto<\/pre>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo chmod 775 directorio_proyecto -R<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Abrir proyecto<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente solo queda abrir la url que se estableci\u00f3 como ruta del proyecto en el navegador, y se podr\u00e1 acceder a \u00e9l sin problemas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-17-17-01-40-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"526\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-17-17-01-40-1-1024x526.png\" alt=\"\" class=\"wp-image-4365\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-17-17-01-40-1-1024x526.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-17-17-01-40-1-300x154.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-17-17-01-40-1-768x394.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-17-17-01-40-1.png 1190w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Y eso ser\u00eda todo, y recuerden que \u00e9sto es s\u00f3lo para entorno de desarrollo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gracias por visitar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Contexto El 27 de julio del 2024 fue lanzado una nueva versi\u00f3n del framework de codeigniter 4.5.4, y con ello algunos cambios en las rutas y uso de dicho framework. En la versi\u00f3n actual ya no es tan f\u00e1cil poder usar la url directa en el nevegador, es decir que se descargue el framework y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4366,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[908,7,137,1511],"tags":[1700,1633,1556,1996,1587],"class_list":["post-4363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-error-mysql","category-fedora","category-mariadb","category-server","tag-apache","tag-codeigniter","tag-php","tag-server","tag-xampp"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/4363","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=4363"}],"version-history":[{"count":2,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/4363\/revisions"}],"predecessor-version":[{"id":4368,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/4363\/revisions\/4368"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media\/4366"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=4363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=4363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=4363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}