A partir de esta guía, podrá aprender sobre los archivos .htaccess y sus funciones, y utilizarlos para optimizar su sitio web. Aunque .htaccess es sólo un archivo, puede cambiar la configuración del servidor, permitiéndole hacer muchas cosas diferentes, la característica más popular es que puede crear una página personalizada de "error 404". .htaccess no es difícil de usar. En última instancia, es sólo cuestión de agregar algunas instrucciones simples a un documento de texto.
Primero debes determinar si el host lo admite.
Esto puede resultar difícil de responder con una respuesta sencilla. Muchos hosts admiten .htaccess pero en realidad no lo indican específicamente, y muchos otros tipos de hosts son compatibles pero no permiten que sus usuarios utilicen .htaccess. En términos generales, si su servidor utiliza un sistema Unix o Linux, o cualquier versión del servidor web Apache, .htaccess es teóricamente compatible, aunque es posible que su proveedor de alojamiento no le permita usarlo.
Una buena señal para saber si su host permite .htaccess es si admite la protección con contraseña de carpeta. Para lograr esta función, el proveedor de hosting necesita usar .htaccess (por supuesto, en algunos casos, aunque brindan protección con contraseña, no le permiten usar .htaccess). Si no está seguro de si su proveedor de alojamiento admite .htaccess, la mejor manera es cargar su propio archivo .htaccess para ver si funciona o enviar directamente un correo electrónico a su proveedor de servicios de alojamiento para realizar una consulta.
El archivo .htaccess (o "archivo de configuración distribuido") en el sistema Apache proporciona un método para cambiar la configuración de un directorio, es decir, colocar un archivo que contiene una o más directivas en un directorio de documentos específico para actuar en este directorio y Todos sus subdirectorios. Como usuario, los comandos que se pueden utilizar están restringidos. Los administradores pueden configurarlos a través de la directiva AllowOverride.
Las directivas en los subdirectorios anulan las directivas en los directorios de nivel superior o en el archivo de configuración del servidor principal.
El .htaccess debe cargarse en modo ASCII, preferiblemente con sus permisos establecidos en 644.
.htaccess puede hacer un montón de cosas, incluyendo: protección con contraseña de carpetas, redirección automática de usuarios, páginas de error personalizadas, cambiar las extensiones de archivos, prohibir a los usuarios el acceso a direcciones IP específicas, permitir solo usuarios de direcciones IP específicas, listados de directorios prohibidos y usar otros archivos como archivos de índice.
La creación de archivos .htaccess puede causarle algunas dificultades. Escribir archivos es fácil, sólo necesita escribir el código apropiado en un editor de texto (como WordPad). La verdadera dificultad puede ser guardar el archivo, ya que .htaccess tiene un nombre de archivo extraño (en realidad no tiene un nombre de archivo, solo una extensión de 8 letras) y no es aceptable en algunos sistemas (como Windows 3.1). En la mayoría de los sistemas operativos, todo lo que necesita hacer es guardar el documento como: ".htaccess" (incluidas las comillas). Si esto no funciona, deberá asignarle otro nombre (por ejemplo, htaccess.txt), cargarlo en el servidor y luego utilizar el software FTP para cambiarle el nombre directamente.
advertir
Antes de usar .htaccess, debo darte algunas advertencias. Si bien es absolutamente improbable que usar .htaccess en un servidor le cause algún problema (simplemente no funciona si algo anda mal), debe tener especial cuidado si usa las extensiones de Microsoft FrontPage. Debido a que las Extensiones de FrontPage usan .htaccess, no puede editarlo ni agregar su propia información. Si realmente necesita esto (no recomendado, pero es posible), primero debe descargar el archivo .htaccess del servidor (si existe) y luego agregar su código delante de él.
2|Configuración del archivo .httacces
El primer uso de .htaccess que voy a cubrir son las páginas de error personalizadas. Esto le permitirá tener su propia página de error personalizada (por ejemplo, cuando no se encuentra un archivo) en lugar de la página de error proporcionada por su proveedor de servicios. O no hay páginas. Esto hará que su sitio web luzca más profesional cuando algo salga mal. También puede utilizar un script para notificarle cuando se produce un error (por ejemplo, yo uso el script PHP de la Ayuda gratuita para webmasters para enviarme automáticamente un correo electrónico cuando no se puede encontrar una página).
Cualquier código de error de página que conozca (como 404 Página no encontrada) se puede convertir en una página personalizada agregando el siguiente texto al archivo .htaccess:
ErrorDocumento número de error /archivo.html
Por ejemplo, si tengo un archivo nofound.html en mi directorio raíz, quiero usarlo como página de error 404:
Documento de error 404 /notfound.html
Si el archivo no está en el directorio raíz del sitio web, solo necesita establecer la ruta en:
Documento de error 500 /errorpages/500.html
Éstos son algunos de los errores más comunes:
Códigos de retorno de error de solicitud de cliente comunes:
400 - Solicitud incorrecta Solicitud incorrecta
La autorización 401 requerida requiere verificación
403 Prohibido
404 No encontrada Página no encontrada
Método 405 no permitido
Solicitud 408 agotada
411 Longitud del contenido requerida
412 Condición previa fallida
413 Solicitar entidad demasiado larga
414 Solicitud URI demasiado larga
415 Tipo de medio no admitido
Códigos de retorno de errores comunes del servidor:
500 Error interno del servidor Error interno del servidor
A continuación, todo lo que tiene que hacer es crear un archivo que muestre cuando se produzcan errores y luego cargarlo junto con .htaccess.
Los usuarios pueden usar .htaccess para especificar su propia página de recordatorio de errores prediseñada. En general, las personas pueden configurar un directorio especial, como el de errores, para colocar estas páginas. Luego agregue las siguientes instrucciones a .htaccess:
Documento de error 404 /errors/notfound.html
Documento de error 500 /errors/internalerror.html
Una instrucción por línea. El significado de la primera instrucción anterior es para 404, es decir, cuando no se encuentra el documento requerido, la página debe mostrarse como la página notfound.html en el directorio /errors. No es difícil ver que el formato de sintaxis es:
ErrorCódigo de error de documento/nombre de directorio/nombre de archivo.extensión
Si hay muy poca información para solicitar, no es necesario crear una página especial y usar el número HTML directamente en el comando, como en el siguiente ejemplo:
ErrorDocument 401 "No tienes permiso para acceder a esta página, ¡ríndete!"
A veces, por alguna razón, no hay ningún archivo de índice en su directorio, lo que significa que cuando alguien escribe la ruta al directorio en la barra de direcciones del navegador, se mostrarán todos los archivos del directorio, lo que dejará una marca en su sitio web. . Menores riesgos de seguridad.
Para evitar esto (sin tener que crear un montón de archivos de índice nuevos), puede evitar que se muestre la lista del directorio escribiendo el siguiente comando en su documento .htaccess: Opciones-Índices
En algunos casos, es posible que solo desee permitir que los usuarios con ciertas IP accedan a su sitio web (por ejemplo, solo permita que los usuarios con un ISP específico ingresen a un directorio), o puede que desee bloquear ciertas direcciones IP (por ejemplo, mediante Low -Los usuarios de nivel se mantienen fuera de su tablero de mensajes). Por supuesto, esto sólo funciona si conoce la dirección IP que desea bloquear; sin embargo, la mayoría de los usuarios en línea hoy en día usan direcciones IP dinámicas, por lo que esta no es una forma común de limitar el uso.
Puede prohibir una dirección IP usando el siguiente comando:
negar desde 000.000.000.000
000.000.000.000 aquí está la dirección IP bloqueada. Si solo especifica algunas de ellas, puede bloquear todo el segmento de red. Si ingresa 210.10.56., se bloquearán todas las direcciones IP desde 210.10.56.0 hasta 210.10.56.255.
Puede permitir que una dirección IP acceda al sitio web usando el siguiente comando:
permitir desde 000.000.000.000
La dirección IP permitida es 000.000.000.000. Puede bloquear todo el segmento de red tal como bloquea la dirección IP.
Si desea evitar que todos accedan al directorio, puede utilizar:
negar de todos
Sin embargo, esto no afecta el uso que hace el script de los documentos en este directorio.
Cambiar el archivo de la página de inicio predeterminada
Generalmente, los nombres de archivos de la página de inicio predeterminados incluyen predeterminado, índice, etc. Sin embargo, a veces no hay un archivo predeterminado en el directorio, sino un nombre de archivo específico, como w3sky.PHP en w3sky. En este caso, resulta problemático para el usuario recordar el nombre del archivo para acceder a él. Se pueden configurar fácilmente nuevos nombres de archivos predeterminados en .htaccess:
DirectoryIndex nuevo nombre de archivo predeterminado
También se pueden enumerar varias listas, indicando el orden la prioridad entre ellas, por ejemplo:
DirectoryIndex nombre de archivo.html index.cgi index.pl default.htm
Quizás no quieras seguir usando index.htm o index.html como archivo índice del directorio. Por ejemplo, si su sitio utiliza archivos PHP, es posible que desee utilizar index.PHP como documento de índice del directorio. Por supuesto, no tiene que limitarse al documento "índice". Si lo desea, utilizando .htaccess puede incluso configurar foofoo.balh como su documento índice.
Estos archivos de índice que se reemplazan mutuamente se pueden organizar en una lista y el servidor buscará de izquierda a derecha para verificar qué documento existe en el directorio real. Si no se encuentra ninguno, mostrará la lista del directorio (a menos que haya desactivado la visualización de listas de archivos del directorio).
DirectoryIndex index.PHP index.PHP3 messagebrd.pl index.html index.htm
Una de las funciones más útiles de .htaccess es redirigir solicitudes a diferentes documentos dentro o fuera del mismo sitio. Esto es extremadamente útil cuando cambia el nombre de un archivo pero aún desea que los usuarios accedan a él utilizando la dirección anterior. Otra aplicación (que encuentro útil) es la redirección a una URL larga; por ejemplo, en mi boletín puedo usar una URL muy corta para apuntar a mi enlace de afiliado. A continuación se muestra un ejemplo de un archivo de redirección:
Redirigir /ubicación/desde/raíz/archivo.ext
http://www.w3sky.com/new/file/123.html
En el ejemplo anterior, para acceder al archivo llamado oldfile.html en el directorio raíz, escriba:
/archivoantiguo.html
Para acceder a archivos en un subdirectorio antiguo, escriba:
/antiguo/archivoantiguo.html
También puede utilizar .htaccess para redirigir directorios completos de sitios web. Si tiene un directorio llamado olddirectory en su sitio web y ha creado el mismo documento que el anterior en un nuevo sitio web http://www.w3sky.com/newdirectory/ , puede copiar todos los archivos en el directorio anterior. Realizar una redirección sin tener que declararlos uno por uno:
Redirigir /directorioantiguo http://www.w3sky.com/directorionuevo
De esta manera, cualquier solicitud dirigida al directorio /olddirectory del sitio será redirigida al nuevo sitio, incluida la información de URL adicional adjunta. Por ejemplo, alguien escribe:
Las solicitudes serán redirigidas a:
Esta característica es extremadamente poderosa si se usa correctamente.
Podemos rediseñar el sitio web, mover documentos o cambiar el directorio. En estos momentos las visitas desde buscadores o enlaces desde otros sitios web pueden salir mal. En este caso, puede utilizar el siguiente comando para redirigir automáticamente la URL anterior a la nueva dirección:
Redirigir /directorio antiguo/nombre del documento antiguo dirección del documento nuevo
O redirigir todo el directorio:
Redirigir directorio antiguo directorio nuevo
Aunque existen varios usos para .htaccess, el más popular, y probablemente el más útil, es su uso para una protección confiable con contraseña de directorios de sitios web. Aunque JavaScript y otros también pueden hacerlo, sólo .htaccess tiene una seguridad perfecta (es decir, los visitantes deben conocer la contraseña antes de poder acceder al directorio y no existe una "puerta trasera").
Usar .htaccess para proteger con contraseña un directorio es un proceso de dos pasos. El primer paso es agregar las líneas de código apropiadas a su documento .htaccess y luego colocar el documento .htaccess en el directorio que desea proteger:
AuthName “Nombre de sección”
Tipo de autenticación básico
AuthUserFile /full/path/to/.htpasswd
Requerir usuario válido
Es posible que deba modificar algunas partes del contenido anterior según su sitio web, como reemplazar "Nombre de la sección" con el nombre de la sección protegida "Área de miembros".
/full/parth/to/.htpasswd debe reemplazarse con la ruta completa del servidor que apunta al archivo .htpasswd (más información sobre este documento más adelante). Si no conoce la ruta completa a su espacio web, consulte con el administrador del sistema.
La protección de directorios con contraseña es más problemática que otras funciones de .htaccess, porque también debe crear un documento que contenga un nombre de usuario y contraseña para acceder a su sitio web, y la información relevante (de forma predeterminada) se encuentra en un documento llamado .htpasswd. Al igual que .htaccess, .htpasswd es un documento sin nombre de archivo y con una extensión de 8 bits que se puede colocar en cualquier lugar de su sitio web (la contraseña debe estar cifrada en este momento), pero se recomienda guardarlo fuera de la raíz web. directorio de su sitio web, de modo que no se pueda acceder a él a través de la red. 1516501417
Cuando se utiliza .htaccess para proteger con contraseña un directorio, contiene la ruta al archivo de contraseña. Por razones de seguridad, es necesario proteger el .htaccess para que otros no puedan ver su contenido. Aunque esto se puede hacer de otras formas, como permisos sobre el documento. Sin embargo, el propio .htaccess también puede hacerlo, simplemente agregue las siguientes instrucciones: 1516501417
orden permitir, negar
negar de todos
Para utilizar .htaccess para configurar usuarios de acceso y contraseñas correspondientes a documentos en un directorio, lo primero que se debe hacer es generar un documento de texto .htpasswd, por ejemplo:
fragua:y4E7Ec8e7EwV
La contraseña aquí está cifrada y los usuarios pueden encontrar algunas herramientas para cifrar la contraseña en una codificación compatible con .htaccess. Es mejor no colocar este documento en el directorio www. Se recomienda colocarlo fuera del documento del directorio raíz www, que es más seguro.
Con el documento de usuario autorizado, puedes agregar las siguientes instrucciones al .htaccess:
Directorio del servidor para AuthUserFile .htpasswd
AuthGroupFile /dev/null (directorio que requiere acceso autorizado)
Nombre de autenticación Ingrese la contraseña
AuthType Básico (tipo de autorización)
requerir usuario wsabstract (usuarios autorizados a acceder, si desea que todos los usuarios de la tabla tengan permiso, puede utilizar require valid-user)
Tenga en cuenta que los corchetes son los comentarios que agregó mientras estudiaba.
Denegar el acceso desde una IP
Si no quiero que un determinado departamento gubernamental acceda al contenido de mi sitio, puedo excluirlo agregando la IP del departamento en .htaccess.
Por ejemplo:
orden permitir, negar
negar desde 210.10.56.32
negar desde 219.5.45.
permitir de todos
La segunda línea niega una determinada IP y la tercera línea niega un determinado rango de IP, es decir, 219.5.45.0 ~ 219.2.45.255
¿Quieres rechazar a todos? Simplemente use negar de todos. Para configurarlo no solo se puede utilizar la IP, sino también el nombre de dominio.
Luego de crear el documento .htpasswd (que se puede crear con un editor de texto), el siguiente paso es ingresar el nombre de usuario y contraseña utilizados para acceder al sitio web, que debe ser:
nombre de usuario:contraseña
La posición de "contraseña" debe ser la contraseña cifrada. Puede obtener contraseñas cifradas de varias maneras: una es utilizar un script permanente disponible en línea o escribir una usted mismo; otro buen servicio de cifrado de nombre de usuario/contraseña es a través del sitio web de KxS, que le permite ingresar su nombre de usuario y contraseña y luego generarlos. una contraseña con el formato correcto.
Para varios usuarios, solo necesita agregar una nueva línea con el mismo formato en el documento .htpasswd. Además, existen algunos programas de script gratuitos que pueden administrar fácilmente archivos .htpasswd y agregar/eliminar usuarios automáticamente, etc.
Cuando intenta acceder a un directorio protegido por una contraseña .htaccess, su navegador mostrará el cuadro de diálogo estándar de nombre de usuario/contraseña. Si no le gusta este método, algunos scripts le permiten insertar cuadros de entrada de nombre de usuario/contraseña en la página para autenticación. También puede ingresar el nombre de usuario y la contraseña (sin cifrar) en el cuadro de URL del navegador de la siguiente manera:
http://nombre de usuario:contraseña@ www.w3sky.com/directory/
Si no desea que otros vinculen sus propias imágenes y documentos en sus páginas web, también puede hacerlo mediante el comando htaccess.
Las instrucciones requeridas son las siguientes:
Reescribir motor en
ReescribirCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ - [F]
Si crees que no queda bien tener un tragaluz abierto en la página de otra persona, puedes usar una imagen en su lugar:
Reescribir motor en
ReescribirCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ http://www.w3sky.com/Nombre del archivo de imagen de reemplazo [R,L]
Este método consiste en redirigir todo el tráfico de tudominio.com a www.tudominio.com (o viceversa). De hecho, algunas personas en el extranjero piensan que este método no es útil para el PageRank. Creo que es porque vieron que hay una herramienta de dominio preferido en las herramientas de administrador de Google, que puede especificar que los rastreadores de Google utilicen www.tudominio.com o tudominio.com como dominio preferido para rastrear y clasificar, y la redirección parece innecesaria. Pero muchas personas han confirmado que esto es efectivo. De todos modos, nadie ha dicho que este método dañará el SEO o el pagerank.
Escribe en .htaccess:
Opciones +SeguirEnlaces simbólicos Todos -Índices
reescribir motor encendido
reescribirBase/
ReescribirCond %{HTTP_HOST} ^dominio.com$
Reescribir regla ^(.*)$ http://www.dominio.com/ $1 [R=301,L]
Eliminación forzada de 3w.
Lo siguiente toma WordPress como ejemplo. En otras situaciones, puede consultarlo y resolverlo usted mismo. Generalmente hay un archivo .htaccess en su directorio de WordPress. De lo contrario, cree uno manualmente. Si configura un enlace permanente, el contenido en .htaccess será el siguiente:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
No nos preocupemos por lo que significa específicamente, simplemente agreguemos debajo de la línea RewriteBase /:
RewriteCond %{HTTP_HOST} ^ www.yourdomain.tld $ [NC]
RewriteRule ^(.*)$ http://yourdomain.tld/ $1 [R=301,L]
Y ya está. Por supuesto, reemplaza tudominio.tld con tu propio nombre de dominio. Las dos líneas anteriores pretenden reescribir el formulario www.tudominio.tld en tudominio.tld y redirigir permanentemente todos los enlaces que acceden al primero al segundo.
Es obligatorio agregar www antes del nombre de dominio.
Si realmente insistes en agregar www al frente, mis palabras anteriores serán en vano y lo lamento. Pero puedes. Simplemente cambie las dos líneas de código agregadas arriba a esto:
RewriteCond %{HTTP_HOST} ^yourdomain.tld$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.tld/ $1 [R=301,L]
.htaccess es una poderosa herramienta que los administradores de sitios pueden utilizar. Tiene más variaciones para adaptarse a diferentes propósitos, ahorrando tiempo y mejorando la seguridad del sitio web.
Instrucciones especiales para .htaccess
* Para habilitar .htaccess, debe modificar httpd.conf, habilitar AllowOverride y usar AllowOverride para restringir el uso de comandos específicos.
* Si necesita utilizar un nombre de archivo distinto de .htaccess, puede utilizar la directiva AccessFileName para cambiarlo. Por ejemplo, si necesita utilizar .config, puede configurarlo en el archivo de configuración del servidor de la siguiente manera:
AccesoNombreArchivo.config
* En general, los archivos .htaccess no deben usarse a menos que no tenga acceso al archivo de configuración principal. Existe un malentendido muy común de que la autenticación del usuario solo se puede lograr a través de archivos .htaccess. De hecho, este no es el caso. Es completamente factible y es un buen método escribir la autenticación del usuario en el archivo de configuración principal. Los archivos .htaccess deben usarse en situaciones en las que el proveedor de contenido necesita cambiar la configuración del servidor para un directorio específico sin privilegios de root. Si el administrador del servidor no está dispuesto a modificar la configuración con frecuencia, puede permitir que los usuarios modifiquen la configuración ellos mismos a través del archivo .htaccess, especialmente si el ISP ejecuta varios sitios de usuarios en la misma máquina y espera que los usuarios puedan cambiar la configuración ellos mismos. . No obstante, generalmente debes evitar el uso de archivos .htaccess siempre que sea posible. Cualquier configuración que desee colocar en el archivo .htaccess se puede colocar en la sección <Directorio> del archivo de configuración principal y es más eficiente. Hay dos razones principales para evitar el uso de archivos .htaccess: rendimiento y seguridad.
Adjunto: conexión de herramienta .htaccess
Generador de archivos .htaccess en línea
http://cooletips.de/htaccess/
Capaz de generar archivos .htaccess en línea, es muy sencillo configurar la redirección, archivos de error del sistema, etc.
editor .htaccess editor en línea
Codificación predeterminada personalizable, páginas de error, etc.