Fixed omitted TeX metatext.
[www.jankratochvil.net.git] / .htaccess
index aceb5e9..eef8aaf 100644 (file)
--- a/.htaccess
+++ b/.htaccess
@@ -21,6 +21,7 @@ AddType "text/plain; charset=us-ascii" .txt
 AddType "text/plain; charset=us-ascii" .asc
 AddType application/x-rpm .rpm
 AddType application/x-nokia-9000-communicator-add-on-software .aos
+AddType application/vnd.symbian.install .sis
 
 RemoveEncoding .gz .Z .bz .bz2 .zip
 AddType application/x-gzip .gz
@@ -29,6 +30,12 @@ AddType application/x-bzip .bz
 AddType application/x-bzip2 .bz2
 AddType application/zip .zip
 
+# Do not: text/javascript
+# as it does not look as registered, at least according to: MIME::Types $VERSION 1.15
+# "application/javascript" so far standardized till 2005-12-08 by:
+#      http://www.ietf.org/internet-drafts/draft-hoehrmann-script-types-03.txt
+AddType application/javascript .js
+
 <IfModule mod_php.c>
        php_flag short_open_tag off
        php_flag magic_quotes_gpc off
@@ -38,17 +45,24 @@ AddType application/zip .zip
 <IfModule mod_rewrite.c>
        # Do not: [R=301] [L]
        # as any non-1st brackets' contents would get ignored!
+       # Use always suffix: ?${unescape:%{QUERY_STRING}}
+       # as $QUERY_STRING gets otherwise double-escaped (or if "NE" the path gets unescaped).
+       # FIXME: Should be applied also for the "P" rules?
+       # WARNING: Requires server/virtualhost definition: RewriteMap unescape int:unescape
        RewriteEngine on
-       RewriteRule ^kocky(|/.*)$ http://kocky.vellum.cz/$1 [R=301,L]
-       RewriteRule ^(4cinfo|4c)(|/.*)$ http://4c.jankratochvil.net/$2 [R=301,L]
-       RewriteRule ^sw(|/.*)$ http://%{SERVER_NAME}/project$1 [R=301,L]
-       RewriteRule ^projects(|/.*)$ http://%{SERVER_NAME}/project$1 [R=301,L]
+       RewriteRule ^kocky(|/.*)$ http://kocky.vellum.cz/$1?${unescape:%{QUERY_STRING}} [R=301,L]
+       RewriteRule ^(4cinfo|4c)(|/.*)$ http://4c.jankratochvil.net/$2?${unescape:%{QUERY_STRING}} [R=301,L]
+       RewriteRule ^sw(|/.*)$ http://%{SERVER_NAME}/project$1?${unescape:%{QUERY_STRING}} [R=301,L]
+       RewriteRule ^projects(|/.*)$ http://%{SERVER_NAME}/project$1?${unescape:%{QUERY_STRING}} [R=301,L]
+       RewriteRule ^(mailman|pipermail|priv|phorum|project/captive/dist)(|/.*)$ http://www2.jankratochvil.net/$1$2?${unescape:%{QUERY_STRING}} [R=302,L]
        <IfModule !mod_perl.c>
-               RewriteRule ^(.*)[.]html[.]pl$ http://%{SERVER_NAME}/$1.pm [R=301,L]
-               RewriteRule ^(.*?)/+Index[.]pm$ http://%{SERVER_NAME}/$1/ [R=301,L]
+               RewriteRule ^favicon[.]ico$ /My/Status.pm?code=404 [P,L]
+               RewriteRule ^(.*)[.]html[.]pl(|/.*)$ /$1.pm$2?${unescape:%{QUERY_STRING}} [R=301,L]
+               RewriteRule ^resume/Resume-JanKratochvil.pm(|/.*)$ /resume/ResumeJanKratochvil.pm$1?${unescape:%{QUERY_STRING}} [R=301,L]
+               RewriteRule ^(.*?)/+Index[.]pm$ /$1/?${unescape:%{QUERY_STRING}} [R=301,L]
                RewriteCond %{REQUEST_FILENAME}/Index.pm -f
                # It may be "" for the root directory:
                RewriteRule ^(|(.*?/)/*)$ http://localhost:7680/$2Index.pm [P,L]
-               RewriteRule ^(.*[.]pm)$ http://localhost:7680/$1 [P,L]
+               RewriteRule ^(.*[.]pm(|/.*))$ http://localhost:7680/$1 [P,L]
        </IfModule>
 </IfModule>