1.8 KiB
1.8 KiB
Hosting Configuration (firebase.json)
The hosting section of firebase.json configures how your site is deployed and served.
Key Attributes
public (Required)
Specifies the directory to deploy to Firebase Hosting.
"hosting": {
"public": "public"
}
ignore (Optional)
Files to ignore on deploy. Uses glob patterns (like .gitignore).
Default ignores: firebase.json, **/.*, **/node_modules/**
redirects (Optional)
URL redirects to prevent broken links or shorten URLs.
"redirects": [
{
"source": "/foo",
"destination": "/bar",
"type": 301
}
]
rewrites (Optional)
Serve the same content for multiple URLs, useful for SPAs or Dynamic Content.
"rewrites": [
{
"source": "**",
"destination": "/index.html"
},
{
"source": "/api/**",
"function": "apiFunction"
},
{
"source": "/container/**",
"run": {
"serviceId": "helloworld",
"region": "us-central1"
}
}
]
headers (Optional)
Custom response headers.
"headers": [
{
"source": "**/*.@(eot|otf|ttf|ttc|woff|font.css)",
"headers": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
}
]
}
]
cleanUrls (Optional)
If true, drops .html extension from URLs.
"cleanUrls": true
trailingSlash (Optional)
Controls trailing slashes in static content URLs.
true: Adds trailing slash.false: Removes trailing slash.
Full Example
{
"hosting": {
"public": "dist",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"cleanUrls": true,
"trailingSlash": false
}
}