InicioCiencia Educacion¿Como habilitar archivos .htaccess?

¿Como habilitar archivos .htaccess?

Ciencia Educacion8/20/2010

Comparto con ustedes información sobre .htaccess que en mi ignorancia desconocia espero que sea para el agrado de muchos usuarios de Joomla.

Visión General

Los archivos .htaccess, son archivos del tipo oculto (su punto a la izquierda lo indica) y nos permiten configurar localmente la mayoría de directivas que hay definidas en el archivo de configuración principal de apache y aplicar normas.

.htaccess es solo el nombre genérico del archivo, desde la directiva AccessFileName, se le podría dar otro nombre, y éste asumiría las mismas funciones y características (en algunos servidores lo llaman .config)

Los archivos .htaccess, actuan recursivamente desde la carpeta donde se hallan ubicados y hacia abajo de la misma. Si en alguna subcarpeta, por debajo de donde ya hay ubicado un archivo .htaccess, colocamos otro, éste último, aplicará igualmente sus directivas o normas desde esa subcarpeta donde se halla ubicado hasta más abajo.. y así, por cada archivo .htaccess que vayamos ubicando dentro de otros subdirectorios.

Por ejemplo, en nuestra carpeta raíz, podríamos tener un .htaccess que estuviera impidiendo, por medio de la directiva IndexIgnore *, la exploración de directorios, y, en la subcarpeta "descargas", podríamos tener ubicado otro .htaccess que lo permitiera parcialmente con un IndexIgnore *.php *.gif *.jpg. De este modo, desde la raíz hasta abajo, estariamos restringiendo la exploración de directorios, menos, en la carpeta "descargas" y sus subcarpetas, en las que solo imperdiriamos el listado de archivos con extensión php, gif o jpg.

La herencia de los archivos .htaccess es algo a tener muy en cuenta para evitarnos despropósitos; además, esto depende también de la herencia de sus directivas, si una directiva en particular, no dispone de tal cualidad, esa directiva en nuestro .htaccess carecerá de recursividad.

Las normas contenidas dentro de cada archivo .htaccess, se comprueban a cada solicitud de acceso que nos llegue; por lo tanto y en pro del rendimiento de nuestra web, la elaboración de este tipo de archivos y su estratégica ubicación, debería ser tan breve y a su vez efectiva como nos fuera posible.

Requisitos

* Es necesario que, el propietario del servidor, desde el archivo de configuración principal de apache habilite el uso de este tipo de archivo en nuestro espacio web, por medio de la directiva AllowOVerride All , o, AllowOverride Options

Restricciones

* Los archivos .htaccess no protejen con sus normas a archivos o carpetas con permisos chmod superiores a 755. (por ejemplo, una carpeta protegida con contraseña desde el .htaccess que esté con chmod 777, no queda protegida por contraseña)
* Cuando PHP se carga como CGI, desde archivos .htaccess, no se pueden modificar localmente las directivas de PHP. (register_globals o similares, no podrían deshabilitarse desde .htaccess cuando PHP se carga como CGI)

Errores 500
Los errores internos del servidor, básicamente, suelen llegar o producirse por dos motivos:

* Errores de sintaxis
* Imposibilidad de llevar a cabo una solicitud

Los errores de sintaxis, pueden producirse por estar usando sintaxis correctas en versiones de apache no compatibles con esa sintaxis, o, por errores de tipeo.
Por ejemplo, para deshabilitar el Register_Globals, estas tres instrucciones serian corrrectas en sintaxis:
CÓDIGO: SELECCIONAR TODO
php_flag Register_Globals = OFF
php_flag Register_Globals = 0
php_flag Register_Globals 0


Sin embargo, utilizar alguna de estas instrucciones, correctas en sintaxis, en una versión de apache que no va a reconocer esa sintaxis, termina en un internal server error.

Imposibilidad de llevar a cabo una solicitud, Por ejemplo, cuando dentro de un archivo .htaccess, estamos haciendo llamadas a módulos que no tenemos habilitados o activados, se producen errores internos del servidor, por no poder llevar a cabo la solicitud. Intentar reescribir URLs, por ejemplo, para prevenirnos de ataques via exploit, cuando el mod_rewrite no está habilitado para nuestro uso, termina en un internal server error. Cuando otro tipo de normas, requieren de su correspondiente módulo para funcionar, si éste no está habilitado, o no lo activamos primero, nos veremos en la misma situación. (mod_security, mod_evasive, etc)

Sugerencias
Hemos podido observar entre otras cosas que:

* Si quien nos sirve el hospedaje no nos permite usar archivos .htaccess, éstos, aunque existan en nuestroe espacio web, serán ignorados.
* El archivo .htaccess, se podría llamar de otra manera.
* Las sintaxis a usar pueden variar entre versiones del servidor.
* Necesitamos tener habilitados los correspondientes módulos para poder usar según que normas.
* Cuando PHP se carga como CGI, no podemos usar desde archivos .htaccess intrucciones orientadas a modificar la configuración local de PHP.
* Se pueden producir errores internos del servidor por usar sintaxis correctas en versiones inapropiadas de apache.
* Hay un rango, dentro de los permisos chmod, en los que los archivos .htaccess no hacen efecto alguno (incluso pueden saltar errores debido al estar con permisos chmod superiores a 755).

Ante este cúmulo de circunstancias a tener en cuenta, la mejor práctica, antes de proceder a habilitar nuestro archivo .htaccess, es, revisar los FAQ de quien sirve el hospedaje, o, ponerse en contacto con quien sirva el hospedaje y formularle un par de preguntas de este tipo:

"Oigan, ¿Tengo algún archivo .htaccess principal? ¿En que ruta se encuentra o como puedo acceder a él? ¿Puedo usar archivos .htaccess aunque sea con otro nombre de archivo? ¿Qué módulos tengo habilitados? ¿PHP se carga como módulo de apache o como CGI? ¿Con qué sintaxis, si pudiera, debo deshabilitar/habilitar algo, como por ejemplo, el register_globals?. Gracias"

Con lo cual, nuestras principales dudas, ante acertadas respuestas por su parte, ya que son los que realmente saben como está todo configurado, nos aclararian el asunto o nos permitirian saber sobre nuestras posibilidades de interacción en gran medida.

El archivo htaccess.txt, que acompaña a las distribuciones de Joomla!, por defecto y como mínimo, necestita del mod_rewrite habilitado, para por ejemplo, poder ejecutar las normas en su interior que tengan que ver con la reescritura de URLs para bloquear tentativas de ataque via exploit, o, para poder usar SEF (URLs amigables); además, es necesario echarle una ojeada a las sugerencias, dentro del mismo comentadas, por si debemos ajustarlo en algo a nuestras necesidades.

Por ese motivo, antes de proceder a renombrar el archivo htaccess.txt a .htaccess (no te olvides del punto a la izquierda), sería bueno:

* Comprobar que en tus condiciones de hospedaje, se te permite usar archivos .htaccess y los módulos necesarios.
* Comprobar si el archivo necesita de algún retoque para adaptarlo a tus condiciones, del tipo "Rewrite Base", "FollowSymLinks" o similares
* Comprueba que la sintaxis usada es la correcta para tus versiones instaladas del servidor.

Una vez renombrado el archivo a .htaccess, comprueba que tu sitio funciona correctamente y sin errores internos del servidor.

Si se producen errores internos del servidor, por haber renombrado el archivo a .htaccess, vuelve a renombrar el archivo a htaccess.txt y reintenta el acceso al sitio, para comprobar que el error ha desaparecido. Luego, busca el motivo por el cual se origina el error y mira de solucionarlo... para volver a intentarlo hacer funcionar todo con el archivo .htaccess habilitado.

http://foro.comunidadjoomla.org/viewtopic.php?f=38&t=37
Datos archivados del Taringa! original
50puntos
4,377visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

G
GDM82541🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.