Quitar index.php

Con la reinstalación del blog me encontré con que en las direcciones del navegador (permalinks) aparecía siempre index.php, cosa que antes no me sucedía. No sé muy bien a que se debía, si al cambio de versión de wordpress, al hosting o a lo que fuese, pero quitarlo es muy fácil. Me he dado cuenta de que también sucede en otros blogs y por eso me he decidido a explicar como quitarlo. IMPORTANTE  resaltar que esto es para blogs basados en Wordpress.

¿Y por qué quitar index.php de los permalinks? Además de por mera estética a la hora de ver los links, los buscadores como google indexan mejor los contenidos si la dirección es más sencilla:

mejor dominio.com/nombre-del-post que dominio.com/index.php/nombre-del-post, no?

¿Y si cambio la forma de los links no perderé los links entrantes desde otras webs? Si quitas index.php de la dirección y en otra web tienen el link con index.php automáticamente se redirecciona a la dirección sin.

Pues vamos a ello. Partimos de la base de que tienes la web en un hosting linux, que es lo más habitual. También necesitas un programa FTP como FileZilla (gratuito) y marcar para que muestre los archivos ocultos (En FileZilla Servidor>Forzar mostrar archivos ocultos)

Vamos a modificar o crear el archivo .htaccess

Para ello pulsamos con el botón derecho sobre el escritorio Nuevo>Documento de texto y lo llamamos htaccess (quedará como htaccess.txt). Lo abrimos y pegamos lo siguiente:

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

IMPORTANTE. El texto anterior está escrito suponiendo que el blog está instalado en el directorio raíz de la web, es decir, que el blog aparece al poner la dirección dominio.com. En el caso de que tu blog esté instalado en dominio.com/blog o similares tendrás que cambiar en el texto anterior a

RewriteBase /blog/ y RewriteRule . /blog/index.php [L]

Una vez hemos hecho eso cerramos y guardamos los cambios del documento. Ahora pegamos el archivo en el directorio donde está instalado el blog (en el caso de FileZilla basta con arrastrarlo), al mismo nivel de carpeta del config.php.

Desde el programa FTP renombramos el archivo htaccess.txt a .htaccess

*En el caso de que ya tuvieses un archivo .htaccess en el directorio del blog deberás añadir el texto anterior al final del documento.

Listo, ahora tenemos que cambiar la estructura de los permalinks desde el panel de administración de wordpress en Opciones>Enlaces permanentes (permalinks si no lo tienes traducido) y marca la opción de estructura personalizada

Aquí hay que tener en cuenta un punto importante. Quitar el index.php no hace que pierdas los links porque se redireccionan, pero si es recomendable que mantengas el resto de la estructura, me explico. Lo “recomendable” para tener mejor puesto en los buscadores es dejar solo /%postname%/, pero si antes tenías también el año y el mes del post en los liks y lo cambias a solo el nombre el post (/%postname%/) si perderás los posibles links de otras páginas.

Para no complicarnos, lo mejor es marcar “estructura personalizada” y escribir /%postname%/ de tal forma que los enlaces permanentes quedarán como dominio.com/nombre-del-post. Cortos, bonitos y fáciles de recordar

Guardamos cambios y a disfrutar.

Compartir      

Por CioN el 13 de Agosto, 2008 | Leído 283 veces |

 

3 comentarios a “Quitar index.php”

  1. Lynx dice:

    Bah, mi comentario no tiene nada que ver con lo del index, es solo para decirte que me alegro de haberme metido en conexiones inconexas hoy y que hoy funcione :) (Ya, ya sé que lleva días funcionando, pero he estado vagueando y aislada de la civilización :P).

  2. /grunch0 dice:

    No en todos los host puedes hacer eso por muchos que cambies el .htaccess, ya que necesitan tener activo el mod_rewrite que por temas de seguridad u otros no deja cambiar el index.php que es el que wordpress ha puesto para eso, para poder poner textos o lo que te de la gana necesitas el index.php si no tienes ese modulo. O eso creo..

    Hechale un ojo a esta publicacion en anieto2k.

  3. CioN dice:

    Como bien dices hay que tener activo el mod_rewrite.

    Eso creo que lo hace la línea: “RewriteEngine On”

    pero claro para activarlo tiene que estar instalado. supongo que habrá hosts que no lo tengan instalado. En ese caso pues al menos por este método no es posible

Comenta!

Si quieres puedes ponerte un gravatar

:smile::grin::lol::wink::shock::???::cool::eek::mad::sad: