Archivo Etiqueta: Eliminar index.php

Eliminar el index.php de las URLs en CodeIgniter

Eliminar Index.php de las URL en CodeIgniter

Para eliminar el index.php de las urls de nuestro sitio web desarrollado en Codeigniter (así las URL de tu sitio se verá más amigable) y éstas tenga la forma: «www.MiSitio.com«/«nombre del controlador o sección de Codeigniter«/«función» , debemos modificar el archivo routes.php y agregar el .htaccess a nuestro servidor!

El resultado será que se vean como la siguiente:

http://misitio.com/welcome

Al comenzar con cualquier proyecto con el Framework PHP CodeIgniter, el controlador que se carga por defecto y ya viene creado, es el Welcome.php y éste es al primer archivo que se accede cuando ponemos la url del sitio en el navegador donde abrimos el proyecto de CI, éste se encarga de cargar las vistas que tenga relacionadas en HTML que veremos por defecto.

Primero, para eliminar index.php de las urls en codeigniter, debemos modificar el parámetro ‘index_page’ del archivo config.php de nuestro sitio, éste archivo lo encontramos destro de la carpeta application/config dentro de la estructura de nuestro proyecto Codeigniter. Deberia verse de la siguiente manera:

$config[‘index_page’] = »;

Codeigniter index url

Codeigniter index url

Luego de modificar éste archivo y guardarlo, creamos el archivo .htaccess en la raíz de nuestro sitio y le agregamos las siguientes líneas.

En la línea RewriteBase debemos poner la ruta a nuestro sitio. En caso de ser el root del servidor, debemos ponerlo como se ve a continuación:

# PROGRAMERTECH

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sitioweb
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /codeigniter/index.php
</IfModule>

Una vez echo esto, tenemos que asegurarnos que el modulo rewrite del servidor Apache donde tenemos corriendo nuestro sitio está cargado, y que en la configuración del sitio (archivo /etc/apache2/sites-enabled/000-default por defecto) tenemos el parámetro AllowOverride a all para nuestro root del servidor.

Si hemos hecho todo bien ahora deberiamos haber eliminado el index.php de Codeigniter:

Estás serían las URLs:

http://misitio.com/

http://misitio.com/welcome

Eliminar index.php de las URLs en WordPress

Eliminar index.php de las URLs en WordPress

Luego de empezar a construir nuestro sitio con WordPress nos encontramos con una problemática, conseguir que las URLs de nuestro sitio web sean «bonitas».

Me pasaba lo que a muchos, que las URLs por defecto en sus permanentlinks incluían /index.php/. Por ejemplo, para que los enlaces sean el /%postname%/, se formaba la siguiente cadena /index.php/%postname%/, a la cual WordPress no permite que le podamos eliminar el index.php. Después de leer mucha información sobre ésta problemática, recopilé un poco de la misma que me fue útil y descarté el resto. Aquí les dejo la explicación de todas las problemáticas con la que puedan encontrarse al intentar limpiar las URLs de su sitio:

Cuando contratan un Hosting Web para poner su sitio en Internet, el servicio que contratan puede tener servidores que se ejecuten en ambientes Microsoft o Linux..

Diferencias entre Servidores Linux y Windows

1.- SI EL SERVIDOR ESTÁ MONTADO SOBRE LINUX el /index.php/ de sus urls se debe eliminar mediante el archivo .htaccess, que colocamos en la carpeta html_public en el root de la estructura de archivos de nuestro servidor. Éste lo podemos modificar y subir al servidor mediante FTP. Se recomienda que el archivo tenga permiso de acceso 664, para que pueda ser leído por los motores de búsqueda.

1.1.- El archivo .htaccess debe tener las siguientes líneas:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

1.2.- Después de modificarlo, lo subimos a la carpeta html_public donde tenemos nuestro sitio.

1.3.- Luego de subir a nuestro hosting el archivo .htaccess podemos ingresar en el panel de control de nuestro WordPress y modificar los permanentlinks. Vamos a Opciones->Permanentlinks y en mi caso solo dejé /%postname%/.

2.- AHORA BIEN, SI EL SERVIDOR ESTÁ MONTADO EN WINDOWS (ISS7), no nos sirve el archivo .htaccess para poder Eliminar el index.php de las URLs.

2.1- En este caso, lo que se debe hacer, es colocar la siguiente linea al final del archivo vars.php que se encuentra dentro de la carpeta wp-include de WordPress en nuestro sitio:

$is_apache = 1;

El resultado obtenido es que  WordPress va a eliminar index.php en las URLs. Lo que es muy bueno para poder lograr un buen posicionamiento SEO de cualquier sitio Web.

 

eliminar index.php url wordpress

Eliminar index.php-Wordpress