El contenido del archivo .htaccess forma parte de la configuración del servidor web de Linux, utilizado a menudo para mod rewrite, pero también puede afectar a otros parámetros útiles. Encontrará a continuación algunos ejemplos de uso y sintaxis.
- ¿Cómo crear/editar .htaccess?
- Configuraciones heredadas
- Ejemplos de configuración
- Implementación de HTTPS (redireccionamientos .htaccess)
¿Cómo crear/editar .htaccess?
En el Área de cliente dispone de una herramienta, que le permite la edición de los archivos existentes y que incluye como principal caracteristica, la posibilidad de crear nuevos archivos mediante una interfaz gráfica. O bien, puede crear un archivo con su editor de texto favorito, y colocarlo en el servidor en el directorio deseado a través de FTP.
- Inicie sesión en el Panel de control..
- Elija el hosting para el que quiere editar .htaccess (Servicios/Webhosting y servidores/Servidores virtuales).
- En Información del servicio, haga clic en el botón Configuración en el apartado Edición del archivo htaccess.
- Aquí podrá seleccionar la carpeta en la que desea editar el archivo .htaccess ( "/" es el directorio raíz - es decir, www).
- Escriba el registro .htaccess requerido en el formulario y confirme el cambio haciendo clic en el botón Guardar.
Instrucciones detalladas:
- Con sus datos de acceso, inicie sesión en el Panel de control. Si no dispone de sus datos de acceso puede solicitar una nueva contraseña.
- Una vez haya accedido, elija el servidor virtual para el que quiere editar .htaccess (Servicios/Webhosting y servidores/Servidores virtuales).
- En Información del servicio, haga clic en el botón Configuración en el apartado Edición del archivo htaccess.
- Aquí podrá seleccionar la carpeta en la que desea editar el archivo .htaccess ( "/" es el directorio raíz - es decir, www).
- Escriba el registro .htaccess requerido en el formulario y confirme el cambio haciendo clic en el botón Guardar.
Configuraciones heredadas
Los ajustes en .htaccess se aplican no sólo al directorio en el que se encuentra el archivo, sino que también lo heredan todas las subcarpetas (pueden, por ejemplo, interferir con las reglas de reescritura). Las configuraciones heredadas siempre pueden ser anuladas por una nueva configuración .htaccess en la subcarpeta (que seguirán heredando sus correspondientes subcarpetas).
Ejemplos de los ajustes más utilizados
Proteger con contraseña el acceso al directorio
Puede configurar el acceso mediante usuario y contraseña a un directorio específico, en la sección Servicios/ Webhosting y Servidores/Servidores virtuales del Panel de control haciendo clic en el nombre de dominio y eligiendo el botón Configuración en Edición del archivo .htaccess.
-
Aquí, en la carpeta correspondiente, seleccione "Crear según plantilla".
-
A continuación, establezca las credenciales en el directorio y confirme haciendo clic en Create htacces.
-
Para ver o modificar las credenciales o añadir un nuevo usuario para el directorio, vaya nuevamente a Servicios/ Webhosting y Servidores/Servidores virtuales del Panel de control, haga clic en el nombre de dominio y elija el botón Configuración en Edición del archivo .htaccess. A continuación, haga clic en contraseña en el directorio correspondiente.
-
En la siguiente pantalla podrá añadir un nuevo usuario, o modificar/eleminar un usuario existente.
Configuración del servidor Web
# Comentario - Todo el texto que está en la línea después del carácter "#" es ignorado por el servidor
# Esto le permite escribir notas para una posterior orientación
# Configuración del archivo predeterminado (index) directorio - por defecto
# Los nombres están separados por un espacio, una distinción entre mayúsculas y minúsculas (index.php y Index.php son por lo tanto dos archivos diferentes)
DirectoryIndex index.php index2.php index.htm index.html
# Contenido del directorio retirado de la lista - Predeterminado desactivado
# Si no hay ningún archivo de índice en el directorio (vea DirectoryIndex arriba), puede tener el contenido listado
Options +Indexes
# Configuración de páginas de error personalizadas
# Como dirección, puede especificar una dirección URL o una ruta relativa: la dirección relativa aparece en el directorio /www/
ErrorDocument 401 /ruta/archivo401.html # (Así que la ubicación del archivo es /www/ruta/archivo401.html)
ErrorDocument 404 /ruta/archivo404.html
ErrorDocument 500 /ruta/archivo500.html
ErrorDocument 503 http://dominio.es/ruta/archivo.html
# Control de acceso
# Activar/desactivar el acceso al directorio desde direcciones IP
Allow from all # La configuración por defecto - acceso permitido desde todas las direcciones IP
Deny from all # Evita el acceso desde todas las direcciones IP (por ejemplo, PHP se obtiene localmente en el directorio)
Deny from 81.95.96.29 # Bloquear el acceso desde determinadas direcciones IP
Deny from 81.95.96 # Bloquear el acceso desde un rango de direcciones IP 81.95.96.xx
Configuración PHP
# Configuración register globals
php_flag register_globals on/off
# Configuración magic quotes
php_flag magic_quotes_gpc on
# Configuración display errors
php_flag display_errors on
#Configuración max_input_vars
php_value max_input_vars 5000 (o cualquier otro número de acuerdo a sus necesidades)
Algunos ajustes de PHP (por ejemplo, memory_limit) no se pueden establecer en el .htaccess
Mod Rewrite
# Antes de que se establezcan reglas, la reescritura debe estar activada
RewriteEngine On
# Redireccionar el dominio algo.dominio.es hacia dominio.es/directorio bajo 301
RewriteCond %{HTTP_HOST} ^algo\.dominio\.es$
RewriteRule ^(.*)$ http://dominio.es/directorio [R,L]
# Redireccionar el dominio algo.dominio.es hacia dominio.es/directorio
RewriteCond %{HTTP_HOST} ^algo\.dominio\.es [NC]
RewriteCond %{REQUEST_URI} !^/directorio/
RewriteRule ^(.*)$ /directorio/$1 [L,QSA]
Puede encontrar más información sobre mod rewrite en la documentación:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
Desactivar eAccelerator
php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
Implementar HTTPS (redirección .htaccess)
HTTPS está implementado (como el propio HTTP) en el alojamiento de Linux mediante el uso del proxy inverso Nginx, que emite el llamado TLS de descarga.
El tráfico entre Nginx y Apache no está cifrado y Apache sabrá acerca del cifrado sólo de la comunicación. Esto resulta en las siguientes limitaciones para las aplicaciones que intentan verificar que se accede a través de HTTPS seguro.
- La detección en PHP usando la variable $_SERVER ['HTTPS']! = 'On' es totalmente funcional - La variable $_SERVER['SERVER_PORT'] incluye el uso de HTTPS número 80
Para redirigir en HTTPS se recomienda que cumpla con las siguientes condiciones, manteniendo al mismo tiempo la compatibilidad con versiones anteriores:
RewriteCond %{HTTPS} !on RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,NE]