.htaccess (edició, especificacions)

El contingut de l'arxiu .htaccess forma part de la configuració del servidor web de Linux, utilitzat sovint per mod rewrite, pero també pot afectar altres paràmetres útils. Trobarà a continuació alguns exemples d'ús i sintaxi.

 

¿Com crear/editar .htaccess?

A l'Área de client disposa d'una eina, que li permet l'edició dels arxius existents i que inclou com a principal característica, la possibilitat de crear nous arxius mitjançant una interfície gràfica. O be, pot crear un arxiu amb el seu editor de text favorit, i col·locar-lo al servidor al directori desitjat via FTP.

  1. Iniciï sessió al Tauler de control.
  2. Esculli el hosting per el que vol editar .htaccess (Serveis/Webhosting y servidors/Servidors virtuals).
  3. Informació del servei, faci clic al botó Configuració a l'apartat Edició de l'arxiu htaccess.
  4. Aquí podrà sel·leccionar la carpeta a on desitja editar l'arxiu .htaccess ( "/" es el directori arrel - es a dir, www).
  5. Escrigui el registre .htaccess requerit al formulari i confirmi el canvi fent clic al botó Guardar.

Instruccions detallades:

  1. Amb les seves dades d'accés, iniciï sessió al Tauler de control. Si no disposa de les seves dades d'accés, pot solicitar una nova contrasenya.
  2. Un cop hagi accedit, esculli el servidor virtual per el que vol editar .htaccess (Serveis/Webhosting y servidors/Servidors virtuals).                                                                                              
  3. Informació del servei, faci clic al botó Configuració a l'apartat Edició del fitxer htaccess.                                                                                                                                                                                        
  4. Aquí podrà sel·leccionar la carpeta en la que desitja editar l'arxiu .htaccess ( "/" es el directori arrel - es a dir, www).                                                                                                                            
  5. Escrigui el registre .htaccess requerit al formulari y confirmi el canvi fent clic al botó Guardar.

 

Configuracions heretades


Els ajustaments en .htaccess s'apliquen no només al directori en el qual es troba l'arxiu, sinó que també ho hereten totes les subcarpetes (poden, per exemple, interferir amb les regles de reescriptura). Les configuracions heretades sempre poden ser anul·lades per una nova configuració .htaccess a la subcarpeta (que continuaran heretant les seves corresponents subcarpetes).

Important: Una configuració incorrecte provocarà "Error intern del servidor"


 

Exemples dels ajustaments més utilitzats

 

Protegir amb contrasenya l'accés al directori


Pot configurar l'accés mitjançant usuari i contrasenya a un directori específic, a la secció Serveis/Webhosting y servidors/Servidors virtuals del Tauler de control fent clic al nom de domini i escollint el botó Configuració a Edició del fitxer .htaccess.

  1. Aquí, a la carpeta corresponent, seleccioni "Crear segons plantilla".

  2. A continuació, estableixi les credencials al directori i confirmi fent clic a Create htacces.                                                                                                                      

  3. Per veure o modificar les credencials o afegir un nou usuari per al directori, aneu novament a Serveis/Webhosting y servidors/Servidors virtuals del Tauler de control, faci clic al nom de domini i triï el botó Configuració a Edició del fitxer .htaccess. A continuació, faci clic a contrasenya en el directori corresponent.                                                                                                                                                                                                                                                                                                                                                          

  4. A la següent pantalla podrà afegir un nou usuari, o modificar/el·liminar un usuari existent.                                                                                                                                                                                                                                                  

SUGGERÈNCIA: La llista de detalls d'accés ja creats, incloses les contrasenyes (en forma xifrada), es troba a l'edició .htpasswd a la part inferior de la configuració. També tenen la opció d'eliminar accessos (per tornar a habilitar l'accés al directori sense una contrasenya).

Configuració del servidor Web



Comentari - Tot el text que està a la línia després del caràcter "#" es ignorat per el servidor
# Això li permét escriure notes per una posterior orientació


Configuració de l'arxiu predeterminat (index) directori - per defecte
# Els noms estan separats per un espai, una distinció entre majúscules i minúscules (index.php i Index.php son per tant dos arxius diferents)


DirectoryIndex index.php index2.php index.htm index.html


# Contingut del directori retirat de la llista - Predeterminat desactivat
# Si no hi ha cap arxiu d'índex al directori (vegi DirectoryIndex a dalt), pot tenir el contingut llistat


Options +Indexes


Configuració de pàgines d'error personalitzades
# Com adreça, pot especificar una adreça URL o una ruta relativa: la adreça relativa apareix al directori /www/

ErrorDocument 401 /ruta/archiu401.html # (Així que la ubicació de l'arxiu es /www/ruta/archivo401.html)
ErrorDocument 404 /ruta/archiu404.html
ErrorDocument 500 /ruta/archiu500.html
ErrorDocument 503 http://domini.cat/ruta/archiu.html


Control d'accés
# Activar/desactivar l'accés al directori des de adreces IP

Allow from all # La configuració per defecte - accés permès des de totes les adreces IP
Deny from all # Evita l'accés des de totes les adreces IP (per exemple, PHP s'obte localment al directori)
Deny from 81.95.96.29 # Bloquejar l'accés des de determinades adreces IP
Deny from 81.95.96 # Bloquejar l'accés des d'un rang d'adreces IP 81.95.96.xx


Configuració PHP

# Configuració register globals
php_flag register_globals on/off

Configuració magic quotes
php_flag magic_quotes_gpc on

Configuració display errors
php_flag display_errors on

#Configuració max_input_vars 
php_value max_input_vars 5000 (o cualquier otro número de acuerdo a sus necesidades)

Alguns ajustaments de PHP (per exemple, memory_limit) no es poden establir al .htaccess


 

Mod Rewrite


# Abans que s'estableixin regles, la reescriptura ha d'estar activada
RewriteEngine On

# Redireccionar el domini quelcom.domini.cat cap a domini.cat/directori sota 301
RewriteCond %{HTTP_HOST} ^quelcom\.domini\.cat$
RewriteRule ^(.*)$ http://domini.cat/directori [R,L]

# Redireccionar el domini quelcom.domini.cat cap a domini.cat/directori
RewriteCond %{HTTP_HOST} ^quelcom\.domini\.cat [NC]
RewriteCond %{REQUEST_URI}  !^/directori/
RewriteRule ^(.*)$ /directori/$1 [L,QSA]

Pot trobar més informació sobre mod rewrite a la documentació:
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ó .htaccess)


HTTPS està implementat (com el propi HTTP) en l'allotjament de Linux mitjançant l'ús del proxy invers Nginx, que emet l'anomenat TLS de descàrrega.

El trànsit entre Nginx i Apache no està xifrat i Apache sabrà sobre el xifrat només de la comunicació. Això resulta en les següents limitacions per a les aplicacions que intenten verificar que s'accedeix a través d'HTTPS segur.

- La detecció en PHP fent servir la variable $_SERVER ['HTTPS']! = 'On' és totalment funcional
- La variable $_SERVER['SERVER_PORT'] inclou l'ús de HTTPS número 80
- La detecció amb l'arxiu .htaccess mitjançant les regles "RewriteCond %{SERVER_PORT} !^443$" i "RewriteCond %{HTTPS} !on" no está actiu! El port en aquests casos sempre serà 8x, amb la versió de PHP i HTTPS variable sempre és Off. En lloc de la variable %{HTTPS} és necessari fer servir per a la detecció la variable %{HTTP:X-Forwarded-Proto}.

Per redirigir a HTTPS es recomana que compleixi amb les següents condicions, mantenint al mateix temps la compatibilitat amb versions anteriors:

RewriteCond %{HTTPS} !on

RewriteCond %{HTTP:X-Forwarded-Proto} !=https

RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,NE]