#                                                                -*- apache -*-
# Example httpd.conf snippet for W3C Markup Validation Service
# Note that this is not a complete server configuration file, but contains
# only the validator-specific part.
#
# You can use the Include directive for including this in your main httpd.conf.
#
# The values below assume that you have the validator files in
# /usr/local/validator.  If not, tune them according to your setup.
#
# To run the validator without mod_perl 2.x even if it is loaded, comment
# out the "IfDefine MODPERL2" sections below.

# First, tell httpd that check and sendfeedback.pl are CGI scripts.

AliasMatch ^/+w3c-validator/+check(/+referer)?$  /opt/w3c-validator/cgi-bin/check
AliasMatch ^/+w3c-validator/+feedback(\.html)?$  /opt/w3c-validator/cgi-bin/sendfeedback.pl

<IfDefine MODPERL2>
# Note: this affects the whole server, not just the validator.
PerlSwitches -T
</IfDefine>

<LocationMatch "^/+w3c-validator/+(check(/+referer)?|feedback(\.html)?)$">
  Options               +ExecCGI
  SetHandler            cgi-script
<IfDefine MODPERL2>
  SetHandler            perl-script
  PerlResponseHandler   ModPerl::Registry
  PerlOptions           +ParseHeaders
</IfDefine>
</LocationMatch>

# This is the directory where you have the validator's *.html, *.css etc files.

Alias /w3c-validator/   /opt/w3c-validator/htdocs/
<Directory "/opt/w3c-validator/htdocs">
  Options               IncludesNOEXEC Indexes MultiViews SymLinksIfOwnerMatch
  AllowOverride         None
  AddHandler            server-parsed .html
  AddCharset            utf-8         .html
            
  <IfModule mod_rewrite.c>
  Options +SymLinksIfOwnerMatch
  RewriteEngine On
  RewriteBase /w3c-validator/
  RewriteRule fragment-upload(.html)? detailed.html#validate-by-input [R,L,NE]
  RewriteRule file-upload(.html)? detailed.html#validate-by-upload [R,L,NE]
  </IfModule>

  <IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/gif A2592000
  ExpiresByType image/jpg A2592000
  ExpiresByType image/png A2592000
  ExpiresByType text/html A604800
  ExpiresByType text/css A2592000
  ExpiresByType text/javascript A2592000
  ExpiresByType application/x-javascript A2592000
  ExpiresByType application/javascript A2592000
  ExpiresByType application/ecmascript A2592000
  </IfModule>
</Directory>

<Directory "/opt/w3c-validator">
  AllowOverride None
  Order allow,deny
  Allow from 127.0.0.0/8
</Directory>

# atom news feed
<IfModule mod_rewrite.c>
  RewriteRule /w3c-validator/whatsnew.atom$ http://www.w3.org/QA/Tools/validator-whatsnew.atom [P,L]
</IfModule>

<Proxy *>
  Order Deny,Allow
  Allow from all
</Proxy>

