A Metalsmith plugin to create an htaccess configuration file.
npm install metalsmith-htaccess




A Metalsmith plugin to create an Apache HTTP Server .htaccess configuration file.
``shell`
npm install --save metalsmith-htaccess
`javascript
const Metalsmith = require('metalsmith');
const htaccess = require('metalsmith-htaccess');
Metalsmith(__dirname)
.use(htaccess({
// options here
}))
.build((err) => {
if (err) {
throw err;
}
});
`
#### 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:
`json`
{
"core": {
"errorDocuments": {
"401": "/error_pages/401.html",
"404": "/error_pages/404.html",
"500": "/error_pages/500.html"
}
}
}
#### 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.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.index (optional)
Type: string Default: "index.html index.htm index.php index.cgi"
Set DirectoryIndex.
#### environment.serverAdminEmail (optional)
Type: string
Set SetEnv SERVER_ADMIN.
#### environment.timezone (optional)
Type: string
Set SetEnv TZ.
#### expires.default (optional)
Type: string Default: "access plus 2 days"
Set ExpiresDefault.
#### expires.types (optional)
Type: object Default:
`json`
{
"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.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.etag (optional)
Type: boolean Default: false
Enables or disables ETag header.
#### mime.defaultLanguage (optional)
Type: string
Sets DefaultLanguage.
#### mime.languages (optional)
Type: object
An object of AddLanguages, example:
`json`
{
"mime": {
"languages": {
"en": "en",
"en-gb": ".en",
"en-us": ".en"
}
}
}
#### mime.charsets (optional)
Type: object
An object of AddCharsets, example:
`json`
{
"mime": {
"charsets": {
"EUC-JP": ".euc",
"ISO-2022-JP": ".jis",
"SHIFT_JIS": ".sjis"
}
}
}
#### mime.types (optional)
Type: object
An object of AddTypes, example:
`json`
{
"mime": {
"types": {
"image/gif": ".gif",
"image/jpeg": "jpeg jpg jpe"
}
}
}
#### 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.check (optional)
Type: boolean
Enables or disables CheckSpelling`.