# file KLEIDER/web/drt_content/source/htaccess
# http://kleider.herbaer.de
# DOCUMENT_ROOT/source/.htaccess

DirectoryIndex software.xhtml

AddType text/plain;charset=UTF-8 .pl .pm .rc .scm .sql .xml

# Dateien mit der Namensendung .pl, .pm, .sql  oder .xml
# sollen nicht als Skripte behandelt werden,
# sondern als Text übertragen werden.
AddHandler default-handler .pl .pm .sql .xml

AddDefaultCharset utf-8

# gzip-komprimierte Daten werden übertragen,
# wenn der Request-Header Accept-Encoding anzeigt,
# dass sie akzeptiert werden.
<FilesMatch "\.gz$">
Header merge Vary Accept-Encoding
</FilesMatch>

RewriteEngine On
RewriteBase /source/

# Das Anhängsel ?t zeigt an, dass das Dokument als Text
# übertragen werden soll (Quelltext von XSLT-Dateien).
RewriteCond %{QUERY_STRING} ^t$
RewriteRule . - [type=text/plain;charset=UTF-8]

# Keine weiteren Rewrite-Regeln anwenden,
# wenn direkt ein komprimiertes Dateiformat gefragt ist
RewriteRule \.gz$ - [L]

RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_URI} \.(?:xhtml|js|css|xslt|xml|rng|pl|pm|el|pdf)
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^.*$ $0.gz [L]

# Verweise in XSLT-Dateien sind relativ zu der "Location",
# die der Browser sieht.
# Die folgenden Regeln "biegen" einige Verweise um.

# /source/style/desktop.xslt -> /source/sitestyle/desktop.xslt
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/source/sitestyle/$1 -f
RewriteRule ^style/(.+)$ sitestyle/$1 [DPI,L]

# /source/sitestyle/style/ixdesk.xslt -> /source/sitestyle/ixdesk.xslt
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/source/$1/$2 -f
RewriteRule ^([^/]+)/(?:[^/]+/)+([^/]+)$ $1/$2 [DPI,L]

# /source/sitestyle/style/ixdesk_help.xhtml -> /source/sitestyle/ixdesk_help.xhtml.de
RewriteCond %{REQUEST_FILENAME}.de !-f
RewriteCond %{DOCUMENT_ROOT}/source/$1/$2.de -f
RewriteRule ^([^/]+)/(?:[^/]+/)+([^/]+)$ $1/$2.de [DPI,L]
# end of file KLEIDER/web/drt_content/source/htaccess
