Starting2.2.16,httpdsupports[FallbackResource](https://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource) which is a simple replace for common RewriteRules:
Passesalistofhashestothevhosttocreate`Alias`or`AliasMatch`statementsasperthe[`mod_alias`documentation](http://httpd.apache.org/docs/current/mod/mod_alias.html). Each hash is expected to be of the form:
For`Alias`and`AliasMatch`towork,eachwillneedacorresponding`<Directory/path/to/directory>`or`<Location/path/to/directory>`block.The`Alias`and`AliasMatch`directivesarecreatedintheorderspecifiedinthe`aliases`paramter.Asdescribedinthe[`mod_alias`documentation](http://httpd.apache.org/docs/current/mod/mod_alias.html) more specific `Alias` or `AliasMatch` directives should come before the more general ones to avoid shadowing.
**Note:**If`apache::mod::passenger`isloadedand`PassengerHighPerformancetrue`isset,then`Alias`mayhaveissueshonouringthe`PassengerEnabledoff`statement.See[thisarticle](http://www.conandalton.net/2010/06/passengerenabled-off-not-working.html) for details.
Passesalistofhashestothevhosttocreate`<Directory/path/to/directory>...</Directory>`directiveblocksasperthe[Apachecoredocumentation](http://httpd.apache.org/docs/2.2/mod/core.html#directory). The `path` key is required in these hashes. An optional `provider` defaults to `directory`. Usage will typically look like:
`provider`canbesettoanyof`directory`,`files`,or`location`.Ifthe[pathspecstartswitha`~`](https://httpd.apache.org/docs/2.2/mod/core.html#files), httpd will interpret this as the equivalent of `DirectoryMatch`, `FilesMatch`, or `LocationMatch`, respectively.
Sets`AddHandler`directivesasperthe[ApacheCoredocumentation](http://httpd.apache.org/docs/2.2/mod/mod_mime.html#addhandler). Accepts a list of hashes of the form `{ handler => 'handler-name', extensions => ['extension']}`. Note that `extensions` is a list of extenstions being handled by the handler.
Setstheusageof`.htaccess`filesasperthe[Apachecoredocumentation](http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride). Should accept in the form of a list or a string. An example:
Alistofhasheswhichcanbeusedtooverridethe[ErrorDocument](https://httpd.apache.org/docs/2.2/mod/core.html#errordocument) settings for this directory. Example:
Setstheorderofprocessing`Allow`and`Deny`statementsasper[Apachecoredocumentation](http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order). An example:
**Note:**Beawarethatthereisan[issue](http://www.conandalton.net/2010/06/passengerenabled-off-not-working.html) using the `PassengerEnabled` directive with the `PassengerHighPerformance` directive.
######`ssl_options`
Stringorlistof[`SSLOptions`](https://httpd.apache.org/docs/2.2/mod/mod_ssl.html#ssloptions) for the given `<Directory>` block. This overrides, or refines the [`SSLOptions`](https://httpd.apache.org/docs/2.2/mod/mod_ssl.html#ssloptions) of the parent block (either vhost, or server).
Allowsper-vhost(andper-directory)setting[`php_admin_value`sor`php_admin_flag`s](http://php.net/manual/en/configuration.changes.php). These flags or values cannot be overwritten by a user, or an application.
Alistofhasheswhichcanbeusedtooverridethe[ErrorDocument](https://httpd.apache.org/docs/2.2/mod/core.html#errordocument) settings for this vhost. Defaults to `[]`. Example:
refertothe[`mod_rewrite`documentation](http://httpd.apache.org/docs/current/mod/mod_rewrite.html) for more details on what is possible with rewrite rules and conditions
Passesalistofhashestothevhosttocreate`ScriptAlias`or`ScriptAliasMatch`statementsasperthe[`mod_alias`documentation](http://httpd.apache.org/docs/current/mod/mod_alias.html). Each hash is expected to be of the form:
Sets`SSLVerifyClient`directivesasperthe[ApacheCoredocumentation](http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslverifyclient). Defaults to undef.
Anexample:
```puppet
apache::vhost{'sample.example.net':
…
ssl_verify_client=>'optional',
}
```
#####`ssl_verify_depth`
Sets`SSLVerifyDepth`directivesasperthe[ApacheCoredocumentation](http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslverifydepth). Defaults to undef.
Anexample:
```puppet
apache::vhost{'sample.example.net':
…
ssl_verify_depth=>1,
}
```
#####`ssl_options`
Sets`SSLOptions`directivesasperthe[ApacheCoredocumentation](http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#ssloptions). This is the global setting for the vhost and can be a string or an array. Defaults to undef. A single string example:
TheApachemoduleallowsyoutosetupprettymuchanyconfigurationofvirtualhostyoumightdesire.Thissectionwilladdresssomecommonconfigurations.Pleaseseethe[Testssection](https://github.com/puppetlabs/puppetlabs-apache/tree/master/tests) for even more examples.
Thisprojectcontainstestsforboth[rspec-puppet](http://rspec-puppet.com/) and [rspec-system](https://github.com/puppetlabs/rspec-system) to verify functionality. For in-depth information please see their respective documentation.