viernes, 27 de noviembre de 2015

Consejos del uso del archivo .htaccess

El .htaccess es un simple archivo de texto (ASCII) en su carpeta www o en un subdirectorio dentro de la carpeta www. Usted puede crear o editar este archivo con cualquier editor de texto (por ejemplo Notepad, Wordpad, etc) y luego subirlo al directorio que requiera modificar la configuracion. Debe de verificar que el archivo que sube este en formato ASCII (y no en formato Binario), y verificar que los permisos al archivo esten a 644 (rw-r--r--). Esto permite que el servidor tenga alcceso al archivo, pero asimismo por razones de seguridad previene acceso no autorizado al archivo por medio del explorador de internet (riesgo de seguridad).
Los comando dentro del archivo .htaccess afectarán al directorio donde este ubicado y ademas en todos sus subdirectorios. Si usted coloca el archivo .htaccess en un directorio www, esto afectará a todo el sitio web.
Algunas configuraciones soportadas por el .htaccess (varia segun el servidor hosting de hospedaje) incluyen:

PERSONALIZACION DE MENSAJES

Si deseas superponer las paginas de error del servidor, puedes usar el .htaccess para definir sus propios mensajes. Un ejemplo de la sintaxis es:
#######################
ErrorDocument 500 /error.html
ErrorDocument 404 /404.html
#######################
Superponer configuracion SSI Por defecto, solo las páginas terminadas en extension .shtml analizara las inclusiones del lado del servidor (SSI) o en nuestros servidores. Usted puede superponer esta restriccion en su archivo .htaccess:
Si usted requiere superponer la configuración por defecto del servidor para que SSI trabaje con documentos .html, puedes crear un archivo llamado .htaccess subirlo (en modo ASCII) a su directorio www. Agregue las siguiente lineas a su archivo .htaccess:
#######################
AddType text/html .html
AddHandler server-parsed .html
#######################
Si prefieres ambos tipos de documentos .html y .htm para analizar SSI, cree su archivo .htaccess con las siguiente lineas:
#######################
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm
#######################

CAMBIE SU PÁGINA DE INICIO POR DEFECTO

En orden para ingresar a su sitio web especificando unicamente el nombre de dominio (por ejemplo, http://www.soltronica.com) en vez de tener que especificar la página exacta del archivo (Por ejemplo, http://www.soltronica.com/blog.html), deberá de tener una pagina inicial en su directorio www. Los nombre de archivo aceptados por defecto para paginas de inicio son index.htm, index.html, index.cgi, index.shtml, index.php, etc. Note que todos son nombrados como index.*.
Inclusive existe un orden de precedencia para estos nombres. Asi que si usted cuenta por ejemplo con 2 archivos uno llamado index.cgi y el otro llamado index.html en su directorio, el servidor mostrara index.cgi debido a que el nombre toma un mayor valor de precedencia que un index.html.
Entonces usando el .htaccess, puedes definir adicionales nombres de archivo (index) y o cambia su orden de precendecia.
Por ejemplo para definir su pagina de inicio como mipagina.html agregue las siguientes lineas en su archivo .htaccess:
#######################
DirectoryIndex mipagina.html
#######################
Esto convertira el archivo mipagina.html en su pagina de inicio, pero si es que el archivo no se encontrara en esa ubicación luego de definirlo entonces el sistema devolvera el error: 404 Missing Page error.
Para cambiar el orden de precedencia, ingrese varios comandos DirectoryIndex con multiples nombres de archivo en la misma línea. El orden en la cual los archivo son listados (de izquierda a derecha) determina el orden de precedencia. Por ejemplo,
#######################
DirectoryIndex mipagina.html index.cgi index.php index.html
#######################

DESACTIVAR LA EXPLORACIÓN DE LOS DIRECTORIOS

Cuando en un directorio raiz no existe el archivo index, o no se ha definido una pagina de inicio, por defecto el explorador de internet mostrará un listado de los archivos que contiene dicha carpeta o raiz.
Esto es un riesgo de seguridad pues conlleva a divulgar sus archivos de la carpeta. Si usted requiere mantener sus archivos ocultos, entonce debe de agregar el siguiente codigo a su archivo .htaccess:
#######################
Options All -Indexes
#######################

BLOQUEAR EL ACCESO DE USUARIOS A SU WEB

Si usted requiere denegar acceso a un individuo en particular, y si usted conoce la ip o dominio que el individuo usa para conectarse a internet, entonces puedes usar el .htaccess para bloquearlo desde tu sitio web.
#######################

order deny,allow
deny from 123.456.789.000
deny from 456.78.90.
deny from .aol.com
allow from all

#######################
En el ejemplo de arriba, el usuario desde la IP exacta 123.456.789.000 sera bloqueado para ingresar; todos los usuarios dentro de un rango de IP desde 456.78.90.000 to 456.78.90.999 seran bloqueado; y todos los usuarios conectados desde aol.com seran bloqueados. cuando aquellos usuario intenten ingresar a sus sitio web se les mostrara el siguiente mensaje: 403 Forbidden error ("Usted no tiene permiso para acceder a este sitio").

REDIRIGIR VISITANTES A NUEVA PÁGINA O DIRECTORIO

Por ejemplo si usted esta rediseñando su web completa, renombrado paginas y directorios. Los visitantes de las antiguas páginas recibiran el mensaje: 404 File Not Found error, y esto es perjudicial pues puede dar mala imagen a su web y por consiguiente perder tráfico ganado.
Asi que para evitar este problema puedes redirigir las llamadas de la antigua página a la nueva página. Por ejemplo, si su antigua pagina se llamaba pagina_vieja.html y esa pagina ha sido reemplaza por pagina_nueva.html, entonces agrega la siguiente linea al archivo .htaccess:
#######################
redirect 301 /pagina_vieja.html http://www.sudominio.com/pagina_nueva.html
#######################
Por supuesto que debes de remplazar sudominio.com por su actual nombre de dominio. Ahora cuando los visitantes tipeen http://www.sudominio.com/pagina_vieja.html, ellos seran automáticamente redigidos a http://www.sudominio.com/pagina_nueva.html.
Si usted a renombrado un directorio, puede usar una redirección para afectar a todas las páginas dentro del directorio:
#######################
redirect 301 /directorio_viejo http://www.sudominio.com/directorio_nuevo/
#######################
Note que la antigua página o directorio es especificado usando la dirección de sistema relativa a su direcctorio www, mientras la nueva pagina o directorio es especificado por la URL absoluta.

PREVENIR ROBO DE ANCHO DE BANDA BLOQUEANDO EL ACCESO DE LAS IMÁGENES.

Si otro usuario esta robando sus imágenes y por consiguiente su ancho de banda, puedes prevenir esto agregando la siguiente linea en tu archivo .htaccess:
#######################
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?sudominio.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
#######################
Reemplaza sudominio.com con su actual nombre de dominio. Utilizando dicho código sus imagenes solo se mostrarán cuando el visitante este navegando en la web http://sudominio.com. Si la imagen es llamado desde otras direcciones web, entonces no se mostrarán (imágenes con link roto).
Si te sientes particularmente fastidiado por que roban imagenes de tu web, entonces puedes proporcionar una imagen alternativa para las páginas que hacen hotlink de tus imagenes -- Por ejemplo, una imagen que diga "Robar es malo ... visita http://sudominio.com para ver la imagen real que pertenece aqui."
Para lograr lo indicado use el siguiente código en su archivo .htaccess:
#######################
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?sudominio.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.sudominio.com/no_robar.gif [R,L]
#######################
Esta vez, reemplace sudominio.com con su actual nombre de dominio, y reemplace no_robar.gif con el nombre de archivo de la imagen que deseas mostrar en las otras paginas que hacen hotlink a tu imagen.

PREVENIR LA VISUALIZACION DEL ARCHIVO .HTACCESS

Para prevenir que los visitantes puedan visualizar el contenido de tu archivo .htaccess, coloque el siguiente código en el archivo .htaccess
#######################

order allow,deny
deny from all

#######################
Del mismo modo si necesitas bloquear otro archivo en particular solamente reemplazas el valor por el nombre de archivo que requieras bloquear

No hay comentarios:

Publicar un comentario