. Htaccess

| by Justin Robinson | November 01, 2005
Un archivo de .htaccess es un archivo que trabaja en Apache y otros webservers NCSA-obedientes. El nombre es realmente un poco un misnomer debido al hecho de que el acceso del hypertext es solamente una función pequeña de cuál es capacidades es.

El archivo de .htaccess afecta el directorio que está situado adentro y todos los directorios debajo de él en el árbol del directorio a menos que haya un archivo de .htaccess contenido dentro de un directorio, en este caso toma la prioridad para ese directorio y todos los directorios situado debajo de él en árbol. Así si un archivo de .htaccess se contiene dentro del directorio de raíz afectará todos los directorios en el web server.

Los fundamentos están como sigue. El archivo de .htaccess es un ASCII (código ASCII), estos archivos se genera lo más fácilmente posible con la libreta o cualquier cosa que pueden mecanografiar adentro formato de texto simple. Es cuál una de las preguntas mas comunes sobre archivos de .htaccess para nombrarlos, desafortunadamente ellos no puede tener ningún nombre, y la extensión (aunque es infrecuente) realmente es 8 caracteres largos.

Crear el archivo es algo difícil porque los programas como el sistema operativo de Windows no permitirán que tengas un wih del archivo ningún nombre y solamente una extensión. Para conseguir alrededor de el lo que debes hacer es conocido el archivo lo que quisieras y después de que uploaded al servidor lo retitula a .htaccess. A este punto sin embargo el archivo llegará a ser invisible a los browsers y los clientes del ftp (aunque puede todavía ser navegado a y el contenido de él vio), éste son debido al hecho de que cualquier archivo con un período al principio de él es nombre está considerado un archivo ocultado.

Al uploading el archivo de .htaccess es muy importante cerciorarse de que upload lo como ASCII y no como binario. También cuando uploaded hay algunas precauciones que tomas para evitar que sea leído por un browser, uno está a CHMOD es permisos a 644 (o a RW-R--R--). El otro será cubierto más tarde en más detalle. Debido a la naturaleza de la información almacenada en el archivo de .htaccess es generalmente primordial mantenerlo seguro.

Cuando crear un archivo de .htaccess allí es por primera vez una nota rápida a tener presente, éste es que la mayoría de los comandos están significados típicamente de ser colocado en una línea, así que si estás utilizando un editor de textos que tiene la característica del abrigo de palabra él puede estar en tu mejor interés de darte vuelta apagado mientras que éste puede entrar el sintaxis que Apache no entiende y hará tus escrituras fallar. También observar que los archivos de .htaccess no trabajarán en una plataforma del NT o de Windows, allí son métodos otros de no lograr las tareas que .htaccess proporciona, solamente ningunas que se líe juntas en un pequeño paquete tan agradable.

los archivos de .htaccess global no se aceptan. Debido al hecho de que pueden ser utilizados para la seguridad que puede convertirse en seguridad muy seria agujerea. Debido a este algunas compañías webhosting tienen cualquier limitado el uso de .htaccess o quitado te todo junto. Antes de que tomes la época de crear a un archivo de .htaccess o a una serie de ellos debes saber siempre lo que puedes y no puedes hacer.

Páginas de encargo del error/páginas de la petición

Hay las varias páginas de las peticiones y del error del cliente que pueden suceder cuando alguien está navegando un Web site. Una breve lista de ellas está como sigue;

200 - Autorización
201 - Creado
202 - Aceptado
203 - Información de Non-Authorative
204 - Ningún contenido
205 - Reajustar el contenido
206 - Contenido parcial
400 - Mala petición
401 - Autorización requerida
402 - Pago requerido
403 - Prohibido
404 - No encontrado
405 - Método no permitido
406 - No aceptable
407 - Autentificación del poder requerida
408 - Petición medida el tiempo hacia fuera
409 - Petición que está en conflicto
410 - Ido
411 - Longitud contenta requerida
412 - La condición previa falló
413 - Entidad de la petición demasiado larga
414 - URI de la petición desean también
415 - Tipo de medios sin apoyo

En esta lista he incluido algún bueno y algunas malas cosas que las páginas de encargo se podrían instalar para adentro un archivo de .htaccess. Por ejemplo si instalaras una página del cliente para el everytime de 200 peticiones alguien mecanografiada con éxito en un URL o tuvieras acceso a tu Web site y trajera con éxito para arriba una página entonces que restauraría a la página especificaste en el archivo de .htaccess, tan pronto como fuera traído con éxito encima de él entonces volviera a dirigir de nuevo a la página especificada en el archivo de .htaccess, y así sucesivamente infinitamente. Éste sería un ejemplo de una mala manera de utilizar esta característica. Sin embargo, si lo instalaras para el error 404 entonces cuando alguien mecanografió en un URL incorrecto o un acoplamiento a una página ha hecho anticuado entonces alguien podría ser vuelta a dirigir a una página que miraba profesional agradable que podría también ser útil y proporcionar acoplamientos de nuevo a tu mainpage o a una sección de la ayuda dentro de tu Web site.

La codificación dentro un archivo de .htaccess volvía a dirigir sobre la terminación de una petición o el error está como sigue (y va solamente en una sola línea);

Código /directory/filename.ext de ErrorDocument

Por ejemplo esto podía mirar gusto;

ErrorDocument 404 /errors/404.html

Esto volvería a dirigir a cualquier persona que consiguió un error 404 en mi Web site a una carpeta llamada los errores y entonces a un archivo nombró 404.html.

También tienes la capacidad de agregar el HTML al archivo de .htaccess para éstos, por ejemplo podrías agregar;

ErrorDocument 404 “la página que estás solicitando no está aquí, utiliza por favor tu botón trasero para volver.

Notar que hay comillas antes del código del HTML pero no en el extremo de él. Esto es mientras que debe estar para que el Apache lo lea correctamente. También cerciorarte de que esté todo en una línea así que dan vuelta apagado a tu wordwrap al entrarla.

Carpetas de protección de la contraseña

Para la contraseña protege cualquier directorio que requieras dos archivos, el archivo de .htaccess y un archivo de .htpasswd. La convención de nombramiento es idéntica al archivo de .htaccess.

Dentro del .htpasswd necesitarás poner en el username y contraseña (aunque la contraseña debe ser cifrada) que quisieras utilizar, por ejemplo, si utilizamos el username del username y de la contraseña de la contraseña parecería esto.

username: 66yGQHg8KA7jw

Para cifrar una contraseña puedes ir a http://www.earthlink.net/cgi-bin/pwgenerator.pl o hacer una búsqueda en el google para el encryptor de la contraseña.

Para los propósitos de la seguridad se recomienda que no colocas tu archivo de .htpasswd en un directorio que no sea tela accesible, algo intento y no lo colocas sobre tu directorio de WWW de la raíz. Y también cerciorarte de que upload el archivo de .htpasswd como ASCII en vez de binario.

Ahora debes agregar el código al archivo de .htaccess que será situado dentro del directorio que quisieras a la contraseña proteges;

AuthUserFile /home/users/web/b2278/ph.dprouse/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType básico

requerir el username del usuario

La línea de AuthUserFile se ocupa de la localización absoluta (no la localización de la tela) del archivo de .htpasswd, allí no es ningún estándar del sistema para esto se cerciora de tan siempre tú comprobación minuciosa con tu abastecedor del webhost.

La línea de AuthName es arbitraria, él puede decir lo que quisieras poner adentro allí dentro de la razón (ningunos espacios).

El AuthType es básico porque estamos utilizando una conexión del HTTP.

La línea final es requiere a usuario y entonces el username del cliente, éste setup como si cada usuario tiene su propio directorio del seperate que pueden tener acceso a, si tienes múltiple los usuarios que quisieran tener acceso al mismo directorio tú cambian la línea pasada para leer;

requerir a válido-usuario

Permitir SSI con .htaccess

Muchos webhosts no permiten el acceso de SSI, esto es debido al hecho de que hay muchos cortes de SSI hacia fuera allí y es un vulnerbality grande. Hay una manera de permitirla, aunque debes entrar en contacto con tu anfitrión y cerciorarse de siempre que esto está permitida mientras que puede ser una abertura de tus términos del servicio.

Las líneas siguientes se deben agregar a tu archivo de .htaccess;

HTML del htm de AddType text/x-server-parsed-html

La línea de AddType agrega un tipo del MIME a la categoría del texto y la extensión es .sh tml. Esto permite que sean vistos en el servidor, aun cuando la mayoría de los anfitriones permite esto que es siempre mejor agregarlo al código para cerciorarse de.

La línea de AddHandler se cerciora de que todos los archivos de .sh tml servidor-estén analizados para los comandos del lado del servidor.

Si no te sientes como la retitulación todo tu .html archiva a .sh tml que puedes agregar esta línea entre las primeras y segundas líneas arriba;

AddHandler servidor-analizó .html

Esta línea no se recomienda excesivamente pues hará el servidor analizar cada archivo con la extensión de archivo de .html. Esto agrega tiempo de carga adicional a cada página que tienes así como la tensión adicional del servidor, si te preocupas de tiempo de carga es siempre mejor utilizar solamente los archivos de .sh tml.

Si estás planeando en usar la extensión de .sh tml y quisieras utilizar SSI en tu página del índice debes agregar otra línea del código en tu archivo de .htaccess;

DirectoryIndex index.sh tml index.html

Esta línea del código permitirá que tu archivo del índice sea index.sh tml y si no encuentra uno comprobará automáticamente para saber si hay index.html.

Bloqueo de usuarios por IP address

Si necesitaras bloquear a alguien o un grupo de gente de tener acceso a tu Web site sería tan simple como agregando las líneas siguientes del código a tu archivo de .htaccess;

la orden permite, niega
negar de xxx.xxx.xxx.xxx
negar de xxx.xxx.xxx
permitir de todos

La primera línea fija la orden de pasos, el primer paso es permitir, entonces negar.

La segunda línea es la primera línea de negaciones, allí puede ser tanta como requieres. Esta línea prevendrá cualquier persona del IP address xxx.xxx.xxx.xxx de entrar en este directorio (o Web site).

¿La tercera línea bloqueará cada uno de una gama del IP, cualquier persona en xxx.xxx.xxx.??? será bloqueado, por ejemplo xxx.xxx.xxx.1, xxx.xxx.xxx.2… xxx.xxx.xxx.255.

La línea pasada permitirá que cada uno entre, sin embargo, si elegiste prevenir cada uno podrías fijar esta línea para leer;

negar de todos

Puedes también permitir o negar por Domain Name, por ejemplo;

negar de .purehost.com

Esto prevendrá a todos los usuarios de este dominio que se bloqueará, él también incluye todos los secundario-dominios (tales como username.purehost.com).

Cambiar tu directorio del defecto

Si tienes un problema el fijar de tu homepage a index.html puedes desear mirar en usar este pedazo del código en ti archivo de .htaccess;

DirectoryIndex filename.ext

Qué esto hará que sucede es cuando alguien tiene acceso a tu Web site que él será dirigida al nombre de fichero enumerado en vez del archivo típico de index.html. Puedes también setup prioridades en esto también, si enumeraras archivos múltiples que comprobaría para saber si hay primer y si es incapaz encontrarlo, él entonces te trasladarías encendido segundo y así sucesivamente.

Por ejemplo;

DirectoryIndex danny.html index.pl home.php index.html

Esto primera comprobación para el archivo de daniscool.html y si es incapaz encontrarlo comprobación para el archivo de index.pl y si es incapaz localizarlo comprobación para el archivo de home.php y si es incapaz encontrarlo comprobación para el archivo de index.html. Una vez que haya agotado todos los éstos entonces exhibiría un error 404 (esperanzadamente has instalado ya de encargo usando tu archivo de .htaccess).

.htaccess vuelve a dirigir

Aunque vuelve a dirigir puede ser cifrado con muchos diversos medios, tales como HTTP-equivalente, Javascript, o cualquier tipo de dinámico scripting lo es típicamente más eficiente hacerlo a través de un archivo de .htaccess. La razón que es que la codificación para todo tu vuelve a dirigir se puede hacer a través de un solo archivo en vez de tener que agregar código a los archivos múltiples. Esto puede ahorrar el tiempo, que puede significar en última instancia la diferencia entre alguien que viene a tu sitio y que encuentra acoplamientos rotos o que no considera la información actualizada.

las aplicaciones de los htaccess vuelven a dirigir para buscar cualquier pedido una página específica (o una localización no específica, aunque esto puede causar bucles infinitos) y si encuentra que la petición, él lo remite a una página nueva tú ha especificado:

Volver a dirigir /folder1/file1.html http://site.com/folder2/file2.html

El aviso allí es tres separados con todo piezas requeridas a esta línea del código. La primera parte es el comando del volver a dirigir, ésta informa al browser que cuando un archivo o una carpeta específico está alcanzado el browser va a ser vuelto a dirigir a una nueva localización. La segunda parte es la dirección del archivo o carpeta que deseas volver a dirigir de en relación con tu directorio de raíz. El tercer y final paso es indicar el archivo o la carpeta a la cual deseas volver a dirigir, ésta se debe indicar por la trayectoria completa a ella.

Como con la mayoría del .htaccess ordena las tres secciones de esto son seperated por un solo espacio pero localizado en una línea. Este comando será utilizado a menudo si hay cambios masivos a un Web site, por ejemplo has creado un sitio nuevo entero, que está situado en una carpeta separada. Utilizarías el comando del volver a dirigir y especificarías la vieja carpeta y después especificarías la carpeta nueva.

Ocultar tu .htaccess

Porque tu archivo de .htaccess puede contener a menudo la información que es muy pertinente a tu Web site o información que puedan ser potencialmente un riesgo de la seguridad él es siempre mejor limitar el acceso a él tanto cuanto sea posible. Si has fijado permisos incorrectos o si tu servidor no es tan seguro como podría ser, un browser tiene el potencial de ver un archivo de los htaccess a través de un interfaz estándar de la tela y de comprometer así tu sitio/servidor. Esto, por supuesto, sería una mala cosa. Sin embargo, es posible prevenir los htaccess archiva de ser visto de este modo:

la orden permite, niega
negar de todos

La primera línea especifica que el archivo nombrado .htaccess está teniendo esta regla aplicada a él. Podrías utilizar esto para otros propósitos también si consigues bastante creativo. Si utilizas esto en tus htaccess archivar, una persona que intenta ver que el archivo conseguiría volvió (bajo la mayoría de configuraciones del servidor) un código de error 403. Puedes también fijar los permisos para tus htaccess archivas vía CHMOD, que también evitaría que sucediera esto, como una medida agregada de seguridad: 644 o RW-R--R--.

Adición de tipos del MIME

SI estás utilizando una extensión de archivo que no se fije en los servidores, que pueden ser una ocurrencia común con los archivos de MP3 o aún de SWF, puedes especificar qué tipo de archivo es agregando esta línea del código a tu archivo de .htaccess;

Swf de AddType application/x-shockwave-flash

AddType está especificando que estás agregando un tipo del MIME. La secuencia del uso es el parámetro real del MIME que estás agregando, y el pequeño pedacito final es la extensión del defecto para el tipo del MIME acaba de agregar, en nuestro ejemplo éste es swf para el archivo de la onda de choque.

Si necesitas encontrar la secuencia del uso del archivo los estás agregando la mayor parte de estás situado en filext.com. También, si deseas tener un archivo que es extensión se especifica en el servidor para abrirse con algo y ti tendría algo que te descargaron (por ejemplo .xml) pueden especificar la secuencia del uso como;

uso/octeto-corriente

Prevención de ligarse caliente

El ligarse caliente refiere alguien fuera de tu Web site usando la trayectoria a una de las imágenes en tu Web site. Esto se considera muy grosero por dos razones importantes; el primer es que pudiste haber pasado muchas horas que trabajan en una imagen particular y no la deseas utilizaste por algún otro, y el segundo es ese everytime que alguien tiene acceso que la página de la otra persona él utiliza tu anchura de banda. Si el sitio era tener muchos visitantes podría terminar encima de ese tu Web site va realmente abajo a la anchura de banda sobre uso.

Usando .htaccess, puedes rechazas ligarse caliente en tu servidor, así que ésos que procuran ligarse a una imagen o al archivo del CSS en tu sitio, por ejemplo, se bloquean (petición fallada, tal como una imagen quebrada) o se sirven un diverso contenido (por ejemplo un diverso cuadro).

Aquí es cómo inhabilitar ligarse caliente de ciertos tipos del archivo en tu sitio, el caso abajo considera imágenes, el Javascript (js) y archivos del CSS (css) en tu sitio. Agregar simplemente abajo el código a tu archivo de .htaccess, y upload el archivo a tu directorio de raíz, o un subdirectory particular para localizar el efecto a apenas una sección de tu sitio;

RewriteEngine encendido
¡RewriteCond % {HTTP_REFERER}! ^$
¡RewriteCond % {HTTP_REFERER}! ¿^ http://(www .)? domain.com/.*$ [NC]
RewriteRule . (gifjpgjscss) $ - [F]

Ser seguro substituir “domain.com” por tus el propio. El código antedicho crea una petición fallada cuando ocurre el ligarse caliente de los tipos especificados del archivo. En el caso de imágenes, una imagen quebrada se demuestra en lugar de otro.

Puedes instalar tu archivo de .htaccess para servir realmente encima de diverso contenido cuando ocurre el ligarse caliente. Esto se hace más comunmente con imágenes, tales como servir encima de una imagen alterna en lugar ligada la caliente. El código para esto es;

RewriteEngine encendido
¡RewriteCond % {HTTP_REFERER}! ^$
¡RewriteCond % {HTTP_REFERER}! ¿^ http://(www .)? domain.com/.*$ [NC]
RewriteRule . (gifjpg) $ http://www.domain.com/alternatepicture.gif [R, L]

Article Source: http://www.articleset.com



About the Author

Justin Robinson
http://justincanada.net » Read more articles by Justin Robinson
You are welcome to publish or reprint this article free of charge, provided: