87 lines
2.9 KiB
Markdown
87 lines
2.9 KiB
Markdown
# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
##@creator: jclain
|
|
##@created: 15/03/2012 22:19
|
|
##@modifier: jclain
|
|
##@changecount: 1
|
|
##@tags:
|
|
##@title: mkRewriteRules
|
|
|
|
{{{
|
|
mkRewriteRules: Créer un fichier de redirections pour Apache à partir d'un certain
|
|
nombre de règles
|
|
|
|
USAGE
|
|
mkRewriteRules -f rewrite.rules [-o RewriteRules.conf] [-w RewriteRules.html] host
|
|
|
|
OPTIONS
|
|
-p Générer les directives <Proxy...> et tenir compte de proxy_acls
|
|
Par défaut, le champ proxy_acls est ignoré
|
|
|
|
FORMAT des règles de mapping
|
|
============================
|
|
|
|
Les commentaires commencent par le signe "#"
|
|
Les règles sont de la forme:
|
|
src:dest:host:suffix:OPTS:prot:proxy_acls
|
|
^prefix
|
|
=literal
|
|
|
|
prot vaut par défaut http. Il peut valoir aussi https
|
|
|
|
Si dest ou suffix se terminent par $, on est en mode NO_SLASH
|
|
En mode NO_SLASH, si src se termine par $, on est en mode NO_TRAIL
|
|
|
|
* Si dest est de la forme Application.woa
|
|
En mode NO_SLASH, on génère
|
|
RewriteRule ^/src(.*) [prot://host]/cgi-bin/WebObjects/dest[/suffix]$1 [L,OPTS]
|
|
En mode NO_SLASH+NO_TRAIL, on génère
|
|
RewriteRule ^/src [prot://host]/cgi-bin/WebObjects/dest[/suffix] [L,OPTS]
|
|
En mode normal, on génère
|
|
RewriteRule ^/src$ /src/
|
|
RewriteRule ^/src/(.*) [prot://host]/cgi-bin/WebObjects/dest[/suffix]/$1 [L,OPTS]
|
|
|
|
* Si dest n'est pas de la forme Application.woa
|
|
En mode NO_SLASH, on génère
|
|
RewriteRule ^/src(.*) [prot://host]/dest[/suffix]$1 [L,OPTS]
|
|
En mode NO_SLASH+NO_TRAIL, on génère
|
|
RewriteRule ^/src [prot://host]/dest[/suffix] [L,OPTS]
|
|
En mode normal, on génère
|
|
RewriteRule ^/src$ /src/
|
|
RewriteRule ^/src/(.*) /dest[/suffix]/$1 [L,OPTS]
|
|
|
|
Si une règle est précédée d'une ou plusieurs lignes de la forme "^prefix",
|
|
ces lignes sont copiées avant chacune des commandes RewriteRule générées
|
|
pour une règle. Ceci permet d'ajouter des conditions avec RewriteCond pour
|
|
une règle. e.g.
|
|
^RewriteCond %{REMOTE_ADDR} 10\..*
|
|
src:dest.woa
|
|
qui génère:
|
|
RewriteCond %{REMOTE_ADDR} 10\..*
|
|
RewriteRule ^/src$ /src/
|
|
RewriteCond %{REMOTE_ADDR} 10\..*
|
|
RewriteRule ^/src/(.*) /cgi-bin/WebObjects/dest.woa/$1 [L]
|
|
|
|
Une ligne de la forme "=literal" est recopiée sans modifications (sans le "=")
|
|
dans le fichier de sortie.
|
|
|
|
proxy_acls est utilisé si l'option -p est spécifiée et OPTS contient P (comme
|
|
proxy), ou si le mode de réécriture requière l'utilisation d'un proxy.
|
|
|
|
* Avec la valeur "None", aucune directive <Proxy> n'est générée
|
|
* Si aucune valeur n'est spécifiée, la directive suivante est générée:
|
|
<Proxy $URL>
|
|
AddDefaultCharset off
|
|
Order Deny,Allow
|
|
Allow from all
|
|
</Proxy>
|
|
* Si une valeur est spécifiée, la directive suivante est générée:
|
|
<Proxy $URL>
|
|
AddDefaultCharset off
|
|
Order Allow,Deny
|
|
Allow from $proxy_acls
|
|
</Proxy>
|
|
|
|
Dans les exemples donnés ci-dessus, $URL est l'url générée par la réécriture,
|
|
et $proxy_acls la valeur du champ proxy_acls spécifiée ci-dessus.
|
|
}}}
|