Riassunto

Questo modulo utilizza un motore basato su regole di riscrittura (sulla base di una espressione regolare parser) per riscrivere gli URL richiesti al volo. Supporta un numero illimitato di regole e un numero illimitato di condizioni delle regole allegata per ogni regola, di fornire una veramente flessibile e potente meccanismo di manipolazione degli URL. Le manipolazioni URL può dipendere da vari test, delle variabili del server, variabili di ambiente, intestazioni HTTP, o timestamp. Anche ricerche nei database esterni in vari formati possono essere usati per ottenere corrispondenza URL altamente granulare.

Questo modulo funziona con gli URL completo (compreso il percorso-info parte) sia per server contesto ( httpd.conf ) e per-directory contesto ( . htaccess ) e può generare query string parti in causa. Il risultato può portare alla riscrittura interno sub-processing, il reindirizzamento della richiesta esterna o anche per un throughput delega interna.

Citando Caratteri speciali

Come di Apache 1.3.20, i caratteri speciali in TestString e sostituzione stringhe possono essere escape (cioè trattati come caratteri normali senza il loro significato consueto speciale) anteponendo con un backslash ('\') di carattere. In altre parole, è possibile includere un vero e proprio simbolo del dollaro carattere in una sostituzione stringa usando ' \ $ '; questo mod_rewrite continua a cercare di trattarlo come un backreference.

Variabili d'ambiente

Questo modulo registra due nuovi (non standard), CGI / SSI variabili d'ambiente di nome SCRIPT_URL e SCRIPT_URI . Questi contengono la logica Web-vista la risorsa corrente, mentre lo standard CGI / SSI variabili SCRIPT_NAME e SCRIPT_FILENAME contenere il fisico del sistema-view.

Avviso: Queste variabili contengono l'URL URI / come erano inizialmente richiesto , vale a dire prima di ogni riscrittura. Questo è importante notare perché il processo di riscrittura è principalmente usato per riscrivere gli URL logica di percorsi fisici.

Esempio:

SCRIPT_NAME = / sw/lib/w3s/tree/global/u/rse/.www/index.html
SCRIPT_FILENAME = / u / RSE / .www / index.html
SCRIPT_URL = / u / RSE /
SCRIPT_URI = http://en1.engelschall.com/u/rse/

Per impostazione predefinita, mod_rewrite impostazioni di configurazione dal server principale contesto non vengono ereditate da host virtuali. Per rendere le impostazioni del server principale si applicano agli host virtuali, è necessario inserire le seguenti direttive in ogni <VirtualHost> sezione:

RewriteEngine On
RewriteOptions Eredita