metalsmith-htaccess v2.0.1
metalsmith-htaccess
A Metalsmith plugin to create an Apache HTTP Server .htaccess configuration file.
Installation
npm install --save metalsmith-htaccessJavaScript Usage
const Metalsmith = require('metalsmith');
const htaccess = require('metalsmith-htaccess');
Metalsmith(__dirname)
.use(htaccess({
// options here
}))
.build((err) => {
if (err) {
throw err;
}
});Options
Core
core.defaultCharset (optional)
Type: string Default: "utf-8"
Sets AddDefaultCharset.
core.serverSignature (optional)
Type: boolean Default: false
Enables or disables ServerSignature.
core.errorDocuments (optional)
Type: object
An object of ErrorDocuments, example:
{
"core": {
"errorDocuments": {
"401": "/error_pages/401.html",
"404": "/error_pages/404.html",
"500": "/error_pages/500.html"
}
}
}Core Options
core.options.followSymlinks (optional)
Type: boolean Default: true
Enables or disables FollowSymlinks.
core.options.indexes (optional)
Type: boolean Default: false
Enables or disables Indexes.
core.options.multiViews (optional)
Type: boolean Default: false
Enables or disables MultiViews.
Deflate
deflate.mimeTypes (optional)
Type: string[] Default: ["image/svg+xml", "application/javascript", "application/rss+xml", "application/vnd.ms-fontobject", "application/x-font", "application/x-font-opentype", "application/x-font-otf", "application/x-font-truetype", "application/x-font-ttf", "application/x-javascript", "application/xhtml+xml", "application/xml", "font/opentype", "font/otf", "font/ttf", "image/x-icon", "text/css", "text/html", "text/javascript", "text/plain", "text/xml"]
A list of MIME types to AddOutputFilterByType DEFLATE.
Dir
dir.index (optional)
Type: string Default: "index.html index.htm index.php index.cgi"
Set DirectoryIndex.
Environment
environment.serverAdminEmail (optional)
Type: string
Set SetEnv SERVER_ADMIN.
environment.timezone (optional)
Type: string
Set SetEnv TZ.
Expires
expires.default (optional)
Type: string Default: "access plus 2 days"
Set ExpiresDefault.
expires.types (optional)
Type: object Default:
{
"image/jpg": "access plus 1 month",
"image/svg+xml": "access 1 month",
"image/gif": "access plus 1 month",
"image/jpeg": "access plus 1 month",
"image/png": "access plus 1 month",
"text/css": "access plus 1 month",
"text/javascript": "access plus 1 month",
"application/javascript": "access plus 1 month",
"application/x-shockwave-flash": "access plus 1 month",
"image/ico": "access plus 1 month",
"image/x-icon": "access plus 1 month",
"text/html": "access plus 600 seconds"
}Set ExpiresByType.
Gzip
gzip.canNegotiate (optional)
Type: boolean
Enables or disables mod_gzip_can_negotiate.
gzip.dechunk (optional)
Type: boolean
Enables or disables mod_gzip_dechunk.
gzip.include (optional)
Type: string[]
A list of mod_gzip_item_include.
gzip.exclude (optional)
Type: string[]
A list of mod_gzip_item_exclude.
Headers
headers.etag (optional)
Type: boolean Default: false
Enables or disables ETag header.
MIME
mime.defaultLanguage (optional)
Type: string
Sets DefaultLanguage.
mime.languages (optional)
Type: object
An object of AddLanguages, example:
{
"mime": {
"languages": {
"en": "en",
"en-gb": ".en",
"en-us": ".en"
}
}
}mime.charsets (optional)
Type: object
An object of AddCharsets, example:
{
"mime": {
"charsets": {
"EUC-JP": ".euc",
"ISO-2022-JP": ".jis",
"SHIFT_JIS": ".sjis"
}
}
}mime.types (optional)
Type: object
An object of AddTypes, example:
{
"mime": {
"types": {
"image/gif": ".gif",
"image/jpeg": "jpeg jpg jpe"
}
}
}Rewrite
rewrite.404 (optional)
Type: string
Sets the 404 redirect page.
rewrite.options (optional)
Type: string Default: "Inherit"
Sets RewriteOptions.
rewrite.allowedMethods (optional)
Type: string[]
A list of allowed HTTP methods.
rewrite.httpsRedirect (optional)
Type: boolean
Enable HTTPS redirection.
Spelling
spelling.check (optional)
Type: boolean
Enables or disables CheckSpelling.