es.hideout-lastation.com
Paraíso Para Los Diseñadores Y Desarrolladores


Guía de diseñadores y desarrolladores para .htaccess

Entre las diversas herramientas para personalizar su servidor web, el archivo de configuración .htaccess es un gran activo. Puede restablecer rápidamente los tipos de documentos, los motores de análisis, los redireccionamientos de URL y muchas otras funciones cruciales. Los webmasters que no son muy técnicos pueden no entrar en los detalles de la administración de su propio archivo .htaccess. Pero el tema en sí es fascinante y vale la pena investigarlo un poco.

Para este artículo, quiero presentar algunos de los conceptos más útiles para webmasters y desarrolladores web. Cualquiera que esté lanzando su propio sitio web en un servidor Apache definitivamente querrá entender cómo administrar su archivo .htaccess. Proporciona mucha personalización y puede funcionar en cualquier idioma web desde PHP a Ruby.

En la parte inferior de esta publicación, he agregado algunas aplicaciones externas para ayudar a los recién llegados a generar dinámicamente sus archivos .htaccess .

¿Por qué usar un archivo .htaccess?

Esta es una gran pregunta y quizás deberíamos comenzar respondiendo "¿Qué es un archivo .htaccess"? Es un archivo de configuración muy especial utilizado por el servidor web Apache. Un archivo .htaccess puede decirle al servidor web cómo presentar varias formas de información y cómo manejar varios encabezados de solicitud HTTP.

Realmente es un medio de descentralización para organizar la configuración del servidor web. Un servidor físico puede contener 50 sitios web diferentes, cada uno con su propio archivo .htaccess. Otorga mucho poder a los webmasters, que de otro modo serían imposibles. ¿Pero por qué deberías usar uno?

La razón más importante es la seguridad. Puede bloquear ciertos directorios o protegerlos con contraseña . Esto es ideal para proyectos privados o nuevos sistemas de gestión de contenido en los que desea un poco de seguridad adicional. Pero también hay tareas comunes como redirigir los mensajes de error 404 a una página web determinada. Esto solo requiere una sola línea de código y puede tener un impacto dramático en cómo los visitantes reaccionan a las páginas que faltan.

A decir verdad, no hay mucho que pueda decir para convencer a otros de que vale la pena comprender un archivo .htaccess. Una vez que lo veas en acción, puedes reconocer todo el valor que proviene de este pequeño archivo de configuración. También espero que el resto de este artículo pueda presentar algunos temas interesantes para que los webmasters tengan en cuenta la administración de una configuración de .htaccess.

Permitir / negar acceso

Es posible reconocer a posibles visitantes de spam y denegarles el acceso a su sitio web. Esto puede ser un poco extremo, sin embargo, si usted sabe que una persona o grupo de personas ha estado apuntando a su sitio web, hay algunas opciones para elegir. Puede elegir una referencia de dominio para denegar o prohibir a los visitantes por una dirección IP.

 order allow, deny deny from 255.0.0.0 deny from 123.45.6. permitir a todos 

Estos códigos de muestra se copiaron de Htaccess Guide ya que son la plantilla perfecta para comenzar. Observe que a la 2ª dirección IP le falta el 4º entero. Este bloque de código se dirigirá a la primera IP (255.0.0.0) y a cada IP dentro del rango de 123.45.6.0-255, y luego permitirá todo el resto del tráfico. Los webmasters pueden no usar esto tan frecuentemente como otras técnicas, pero es útil comprenderlo.

Evitar listado de directorios

Habrá momentos en que tenga un directorio abierto que está configurado para permitir la exploración de forma predeterminada. Esto significa que los usuarios pueden ver todos los archivos enumerados dentro de una estructura de directorio interno, como su carpeta de imágenes. Algunos webmasters no quieren permitir el listado de directorios y afortunadamente el fragmento de código es bastante fácil de recordar.

 Opciones -Indexes 

He visto esta respuesta presentada innumerables veces a lo largo de Stack Overflow y puede ser una de las reglas de .htaccess más fáciles de recordar.

Es posible crear varios archivos .htaccess dentro de cada uno de estos directorios, por lo que tal vez uno de ellos esté protegido por contraseña, pero los otros no. Y aún puede conservar las Opciones -Indices para que los visitantes no puedan navegar a través de su sitio web / imágenes / carpeta.

Protección de contraseña

Proteger con contraseña sus directorios es un procedimiento muy común para proteger áreas de administración y otras carpetas cruciales para su sitio web . A veces, solo querrás ofrecer acceso a un pequeño grupo de personas. Otras veces, las contraseñas son para evitar que los piratas informáticos accedan al panel de administración de su sitio web. Pero de cualquier manera es una solución muy poderosa para una gran cantidad de problemas.

Hay una guía práctica sobre protección con contraseña que describe los fragmentos de código importantes. Tendrá que generar un archivo de contraseña que almacena las credenciales de nombre de usuario / contraseña . Así es como Apache puede verificar contra qué el usuario ingresa para ver si se le debe otorgar acceso. Y observe cómo necesitará generar una muestra para su nombre de usuario y contraseña.

Yo recomendaría usar este generador de htpassword para que pueda ahorrar un poco de tiempo. La sintaxis siempre saldrá perfecta y no necesita encriptar la contraseña usted mismo . Y la otra gran opción es proteger con contraseña una lista de directorio completa. Podemos ver este ejemplo en la galería de fragmentos de código de CSS-Tricks.

 AuthType Basic AuthName "Esta área está protegida con contraseña" AuthUserFile /full/path/to/.htpasswd Requerir usuario válido 

Seguridad para WordPress

Para darle un buen uso a esta idea de protección con contraseña, demostremos un ejemplo del mundo real. Este fragmento de código más complicado forzará la autenticación del usuario para cualquiera que acceda al archivo wp-login.php de WordPress . Encontrará la fuente original en Ask Apache, que tiene muchos otros fragmentos de protección de WordPress.

 Orden de denegar, Permitir denegar a todos Satisfy Any AuthName "Protegido por AskApache" AuthUserFile /web/askapache.com/.htpasswda1 AuthType Basic Requerir usuario válido 

Y si va a seguir estas reglas de .htaccess, también podría ayudar a proteger con contraseña el área de administración. Por lo general, el archivo wp-login.php obtendrá la mayor cantidad de visitas de personas que intenten ingresar por la fuerza bruta en su sistema. Por lo tanto, incluso los códigos de muestra anteriores serían más que suficiente seguridad adicional para su sitio web de WordPress.

Reglas de reescritura de URL HTTP

Reescribir las URL es probablemente uno de los usos más comunes para los archivos .htaccess. Las instalaciones predeterminadas de WordPress en realidad pueden generar un archivo .htaccess directamente desde el panel de administración . Esto le permite crear URL bonitas que no tienen la estructura .php? P = 1.

Quiero ver este ejemplo de reescritura sobre cómo actualizar guiones bajos a guiones ya que contiene muchos de los elementos más importantes .

 Opciones + FollowSymLinks RewriteEngine On RewriteBase / RewriteRule! \. (Html ​​| php) $ - [S = 4] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ ([^ _] *) _ ( [^ _] *) _ (. *) $ $ 1- $ 2- $ 3- $ 4- $ 5 [E = uscor: Sí] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ ([^ _ ] *) _ (. *) $ $ 1- $ 2- $ 3- $ 4 [E = uscor: Sí] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ (. *) $ $ 1- $ 2- $ 3 [E = uscor: Sí] RewriteRule ^ ([^ _] *) _ (. *) $ $ 1- $ 2 [E = uscor: Sí] RewriteCond% {ENV: uscor} ^ Sí $ RewriteRule (. *) Http: //d.com/$1 [R = 301, L] 

RewriteEngine y RewriteBase siempre se pueden establecer en estos valores exactos. Pero necesita que el RewriteEngine esté encendido para que funcione cualquier otra cosa. Hay muchas guías en línea que explican cómo habilitar mod_rewrite y su proveedor de alojamiento también puede ayudar.

Observe que la sintaxis sigue un patrón de RewriteRules en la parte superior. Estas reglas se utilizan para hacer coincidir los casos que se envían como una solicitud HTTP . Estos son respondidos por un RewriteRule que en este caso redirige todo al dominio d.com . Los corchetes finales como [R = 301, L] se llaman indicadores de reescritura que son importantes, pero más que un tema avanzado.

La sintaxis de mod_rewrite definitivamente es un poco confusa, ¡pero no te dejes intimidar! Los fragmentos pueden verse mucho más fáciles en otros ejemplos.

Cuando recién comencé, tengo que recomendar esta aplicación web mod_rewrite que te ayuda a generar muestras de código usando URL reales. Esta es una herramienta brillante porque puede buscar varios elementos en la sintaxis para ver lo que realmente hacen en las reglas de Reescribir. Aquí hay otro gran tutorial con un ejemplo más simple de estudiar:

 RewriteRule ^ dir / ([0-9] +) /? $ /index.php?id=$1 [L] 

No intente sobrecargarse de esto todo a la vez. Me llevó más de 3-4 meses comenzar realmente a comprender cómo reescribir las URL con [0-9a-zA-Z] + y patrones similares. Sigue practicando y, a tiempo, prometo que obtendrás esto como si fuera conocimiento de sentido común.

Fragmentos de código para webmasters

Me encantan los fragmentos fáciles de usar y quiero armar esta pequeña colección de códigos .htaccess pertinentes para webmasters. Cada una de estas ideas puede encajar perfectamente en su propio archivo .htaccess junto con otros bloques de código. La mayoría de estos fragmentos son geniales para resolver problemas o soluciones rápidas en el entorno de su servidor web . Imagine la configuración perfecta de Apache para los nuevos webmasters que recién comienzan en línea.

Establecer DirectoryIndex

El comando para DirectoryIndex se usa comúnmente en una sola línea. Puede decirle a Apache qué documentos deberían tratarse inicialmente como el documento "principal". De forma predeterminada, se orientarán a elementos como index.html, index.php, index.asp y otros archivos de índice . Pero con este fragmento de código que he copiado a continuación, tiene la capacidad de hacer que este documento raíz sea lo que quiera.

 DirectoryIndex index.html index.cgi index.php 

El orden de los documentos debe comenzar por el más importante y pasar de los rangos a los menos importantes. Entonces, si no tenemos un archivo HTML o CGI, la alternativa será index.php . Y podría incluso nombrar estos archivos home.php o someotherfile.php y es toda la sintaxis válida.

Forzar WWW o subdominio no WWW

Google puede trabajar con ambas versiones del dominio de su sitio web si no especifica www.domain.com o simplemente domain.com . En mi experiencia, es una buena práctica elegir uno de estos y configurarlo como la única opción a través de .htaccess. Entonces Google no indexará varias URL con algunos apuntando al subdominio WWW mientras que otros no lo harán.

 # Force WWW Subdominio RewriteEngine On RewriteCond% {HTTP_HOST} ^ domain.com [NC] RewriteRule ^ (. *) $ Http://www.domain.com/$1 [L, R = 301] # No Subdominio RewriteEngine On RewriteCond% {HTTP_HOST}! ^ Domain.com $ [NC] RewriteRule ^ (. *) $ Http://domain.com/$1 [L, R = 301] 

Este fragmento de código proviene de un archivo CSS-Tricks y proporciona una solución muy útil. Debe actualizar el dominio para que sea lo que necesite para su propio sitio web. De lo contrario, habrá problemas y lo notará de inmediato. Pero sí apoyo fuertemente forzar una de estas dos opciones y está en la parte superior de mi lista de tareas después de lanzar un nuevo sitio web.

Force Media File Downloads

Otro fragmento bastante importante permite forzar la descarga de ciertos tipos de medios en lugar de mostrarlos en el navegador . Inmediatamente puedo pensar en documentos PDF y archivos de audio MP3 que pueden presentarse en un formato descargable, pero ¿cómo se aseguran de que se puedan descargar ? Encontré un artículo similar publicado en Htaccess Guide que describe este fragmento de código.

 Aplicación AddType / octet-stream .zip .mp3 .mp4 

Siéntase libre de incluir aún más tipos de archivos al final de esta línea. Todos los formatos de medios que utilizan el tipo MIME de secuencia de octetos serán descargables. Forzar esto a través de .htaccess es una ruta muy directa para garantizar que las personas no puedan ver estos archivos en el navegador.

Documentos de error personalizados

Una última pieza final que quiero agregar es una plantilla completa de documentos de error personalizados. Por lo general, estos códigos numéricos solo se ven en el extremo del servidor. Pero hay muchos de estos documentos de error con los que debe estar familiarizado. Algunos ejemplos pueden ser 403/404 errores y la redirección 301 .

Esta plantilla de código de error comienza en 100 y se mueve hacia arriba en 500 errores . Tenga en cuenta que obviamente no necesita todos estos. Solo los errores más comunes serían necesarios, y posiblemente algunos fragmentos oscuros si siente la necesidad.

Si no reconoce un código, búsquelo en Wikipedia para obtener una mejor comprensión.

 ErrorDocument 100 / 100_CONTINUE ErrorDocument 101 / 101_SWITCHING_PROTOCOLS ErrorDocument 102 / 102_PROCESSING ErrorDocument 200 / 200_OK ErrorDocument 201 / 201_CREATED ErrorDocument 202 / 202_ACCEPTED ErrorDocument 203 / 203_NON_AUTHORITATIVE ErrorDocument 204 / 204_NO_CONTENT ErrorDocument 205 / 205_RESET_CONTENT ErrorDocument 206 / 206_PARTIAL_CONTENT ErrorDocument 207 / 207_MULTI_STATUS ErrorDocument 300 / 300_MULTIPLE_CHOICES ErrorDocument 301 / 301_MOVED_PERMANENTLY ErrorDocument 302 / 302_MOVED_TEMPORARILY ErrorDocument 303 / 303_SEE_OTHER ErrorDocument 304 / 304_NOT_MODIFIED ErrorDocument 305 / 305_USE_PROXY ErrorDocument 307 / 307_TEMPORARY_REDIRECT ErrorDocument 400 / 400_BAD_REQUEST ErrorDocument 401 / 401_UNAUTHORIZED ErrorDocument 402 / 402_PAYMENT_REQUIRED ErrorDocument 403 / 403_FORBIDDEN ErrorDocument 404 / 404_NOT_FOUND ErrorDocument 405 / 405_METHOD_NOT_ALLOWED ErrorDocument 406 / 406_NOT_ACCEPTABLE ErrorDocument 407 / 407_PROXY_AUTHENTICATION_REQUIRED ErrorDocument 408 / 408_REQUEST_TIME_OUT ErrorDocument 409 / 409_CONFLICT ErrorDocument 410 / 410_GONE ErrorDocument 411 / 411_LENGTH_REQUIRED ErrorDocument 412 / 412_PRECONDITION_FAILED ErrorDocument 413 / 413_REQUEST_ENTITY_TOO_LARGE ErrorDocument 414 / 414_REQUEST_URI_TOO_LARGE ErrorDocument 415 / 415_UNSUPPORTED_MEDIA_TYPE ErrorDocument 416 / 416_RANGE_NOT_SATISFIABLE ErrorDocument 417 / 417_EXPECTATION_FAILED ErrorDocument 422 / 422_UNPROCESSABLE_ENTITY ErrorDocument 423 / 423_LOCKED ErrorDocument 424 / 424_FAILED_DEPENDENCY ErrorDocument 426 / 426_UPGRADE_REQUIRED ErrorDocument 500 / 500_INTERNAL_SERVER_ERROR ErrorDocument 501 / 501_NOT_IMPLEMENTED ErrorDocument 502 / 502_BAD_GATEWAY ErrorDocument 503 / 503_SERVICE_UNAVAILABLE ErrorDocument 504 / 504_GATEWAY_TIME_OUT ErrorDocument 505 / 505_VERSION_NOT_SUPPORTED ErrorDocument 506 / 506_VARIANT_ALSO_VARIES ErrorDocument 507 / 507_INSUFFICIENT_STORAGE ErrorDocument 510 / 510_NOT_EXTENDED 

Online .htaccess Webapps

  • Constructor de Htaccess
  • .htaccess redirigir generador
  • .htaccessEditor - Crea un archivo .htaccess
  • Mod Rewrite Generator por GenerateIt.net
  • DevGizmo htaccess Builder

Otros recursos útiles

  • .htaccess en Httpd Wiki
  • Documentación oficial de Apache htaccess
  • Ask Apache Blog - Htaccess Archives
  • La última guía para htaccess y mod_rewrite
  • Todo lo que siempre quiso saber sobre las reglas de Mod_Rewrite pero tenía miedo de preguntar

Pensamientos finales

Hay tantos recursos innumerables en línea discutiendo archivos .htaccess. Mis artículos vinculados y webapps son un excelente lugar para comenzar. Pero sigue practicando nuevas ideas y no tengas miedo de probar los fragmentos de código . Siempre que tenga un archivo de respaldo, puede probar todo lo que quiera y es una experiencia de aprendizaje divertida.

Si tiene otras ideas o sugerencias sobre la administración de .htaccess, por favor, comparta con nosotros en el área de discusión posterior a continuación.

Wine 2.0 ya está disponible para su descarga

Wine 2.0 ya está disponible para su descarga

Si usted es un usuario de Mac o Linux que depende en gran medida de Wine, le complacerá saber que Wine 2.0 ya está disponible para descargar a partir de hoy.Una de las principales mejoras que viene con Wine 2.0 incluye soporte para la API de servicios web . Con la implementación del lector y escritor XML, así como el soporte básico para realizar llamadas SOAP ahora disponibles con Wine 2.0, l

(Consejos de tecnología y diseño)

Cómo agregar la pantalla de bienvenida en la aplicación de iOS

Cómo agregar la pantalla de bienvenida en la aplicación de iOS

La pantalla de bienvenida es lo que verá durante unos segundos cuando abra una aplicación móvil. La pantalla de bienvenida es útil de muchas maneras que podrían mejorar la experiencia del usuario y fortalecer la marca de la aplicación móvil. Muestra a los usuarios que abrieron la aplicación correcta y es una buena excusa para mostrar el logotipo de la aplicación.Según Ap

(Consejos de tecnología y diseño)