Manual .htaccess

La configuracion de un servidor apache se establece basicamente a traves del fichero http.conf. Este fichero determina el comportamiento que tendra el servidor antes las peticiones que reciba.

Este fichero es modificado por el administrador del sistema, los usuarios no pueden variar sus directivas, que asi se llaman los parametros de configuracion.

Pero no todo esta perdido. El fichero .htaccess, permite que el administrador del sitio web personalice su pagina web, haciendo que el servidor se comporte de manera especial, solo para esa pagina web.

¿ Como funciona .htaccess ?

Cuando el servidor recibe una peticion, mira primero si existe el fichero .htaccess en la raiz de nuestra pagina o el directorio en el que se encuentra la pagina y superiores. Si lo encuentra, lo lee y aplica las directivas que encuentre, si estas son validas. Si encontrara algun error en estas directivas generara un error " 500 Internal Error " .

¿ Como edito este fichero ?

Es un fichero en ASCII puro, asi que podemos editarlo con cualquier editor , como el "notepad" de Windows. Es importante notar que algunas opciones que se establecen en el panel de control, hacen uso de este fichero (Redirecciones, Hotlinks, Directorios protegidos, etc). Asi no basta con editar un archivo .htacces y subirlo a la carpeta que deseemos. Debemos asegurarnos que no exista ya, y si esta, bajarnoslo a nuestro ordenador, añadir las directivas que queramos, y volverlo a subir.

La mejor manera es hacer uso del Panel de Control. Si encontramos ese fichero, desde el propio Administardor de archivos, podemos editarla y guardarlo. Tambien podemos crear uno, si no existe.

¿ A traves de mi programa FTP no veo este fichero ?

En linux, los ficheros que comienzan por un punto son ocultos. Algunos programas de FTP los presentan y otros no.

¿ Que estructura tiene ?

Es un fichero en ASCII puro. Las lineas precedidas por # son comentarios y las directivas pueden ser :

De linea : directiva argumento

De bloque :
OtrasDirectivas


¿ Que directivas puedo incluir ?

Las directivas que podemos incluir son la mayoria de las que pudieramos incluir en el fichero de configuracion general de Apache .Tambien depende de los modulos cargados. Lo mejor es consultar la documentacion de apache :

http://httpd.apache.org/docs/mod/directives.html

En cada una de las directivas que encontramos, en la opcion Context : encontraremos si en su ambito de aplicacion, se encuentra .htaccess

Por ejemplo, la documentacion dice sobre DirectoryIndex :

Syntax: DirectoryIndex local-url [local-url] ...
Default: DirectoryIndex index.html
Context: server config, virtual host, directory, .htaccess
Override: Indexes
Status: Base
Module: mod_dir

En Context señala que su albito de aplicacion incluye .htaccess, indicandonos que podemos usarlo.

En cualquier caso, veamos como aplicar algunas directivas :

-- Paginas de error --

Podemos dirigir al usuario a las paginas que queramos cuando se produzca un error (Pagina no encontrada, Pagina prohibida, etc)
La directiva que usamos es " ErrorDocument numero_de_error /pagina_a_redirigir

Ejemplo para manejar los errores 404 y 500

Código:
ErrorDocument 404 /errores/error_404.html
ErrorDocument 500 /errores/error_500.html


Mas informacion en :

http://httpd.apache.org/docs/mod/core.html#errordocument

-- Cabeceras Expire --

Podemos usar estas directivas para generar cabeceras Expire y saltarnos el cache de algunos proveedores. Por ejemplo, evitar
que el proxy de Telefonica cachee nuestra pagina y no veamos los cambios que apliquemos a nuestra pagina

Son tres "ExpiresActive, ExpiresDefault y ExpiresByType"

Ejemplo para caducar los graficos en una semana y las paginas HTML en un dia

Código:
ExpiresActive On
ExpiresByType image/gif A86400
ExpiresByType image/png A86400
ExpiresByType image/jpg A86400
ExpiresDefault "modification plus 1 day"


Mas informacion en : http://httpd.apache.org/docs/mod/mod_expires.html

-- Diferente pagina de inicio --

Usamos la directiva "DirectoryIndex"

Ejemplo

Código:
DirectoryIndex inicio.php


Mas informacion : http://httpd.apache.org/docs/mod/mod_dir.html#directoryindex

-- Permitir o negar el acceso a nuestra pagina --

Las directivas son "allow y deny"

Ejemplo para negar el acceso a determinadas direcciones

Código:
allow from all # Permite a todos
deny from 100.12.12.12 # Deniega a esta IP
deny from 100.12.12 # deniega a este rango
deny from apache.org # deniega a este host
deny from crack.dominio.com # deniega a este subdominio


Código:
# ejemplo muy restictivo
deny from all
allow from 123.123.123.1 # Solo permite el acceso una IP


Mas informacion en : http://httpd.apache.org/docs/mod/mod_access.html

-- Reescribir la URL --

Una poderosa y no facil herramienta para manipular URLs . Nuestro panel de control la usa para los Hotlinks (Evitar que otros servidores roben material de nuestra pagina)

Ejemplo de hotlink :

RewriteEngine on
RewriteCond % !^http://dominio.com/.*$ [NC]
RewriteCond % !^http://www.dominio.com/.*$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]


Protejemos las extensiones jpg|jpeg|gif|png|bmp de referers que no sean dominio.com o www.dominio.com

Mas informacion en : http://httpd.apache.org/docs/misc/rewriteguide.html

NOTA IMPORTANTE : Si trabaja con las extensiones FrontPage, no edite el fichero a mano, ya que FrontPage usa estos ficheros para su funcionamiento.


PubliWeb
www.publiweb.es

  • 4 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

¿Que es el archivo php.ini?

¿Que es el archivo php.ini? El archivo php.ini es el que contiene nuestra configuración de PHP,...

Configuración cuentas e-mail en OUTLOOK

CONFIGURACIÓN DE LAS CUENTAS DE CORREO EN OUTLOOKSustituya los datos del ejemplo, por los...

Configurar registros MX para GOOGLEMAIL

Configuración de tus registros MX: cPanel Accede a tu cuenta de cPanel.Haz clic en Mail...