Neither vercel.json rewrites nor redirects nor a _redirects file has any effect: the origin serves files literally and no routing layer is in front of it (no Vercel or Pages headers on any response). Leaving dead config in place would imply the paths are blocked when they are not. protection is robots.txt only (Disallow: /*.md$) until these docs live outside the deployed tree.
301 lines
8.3 KiB
JSON
301 lines
8.3 KiB
JSON
{
|
|
"github": {
|
|
"silent": true
|
|
},
|
|
"trailingSlash": true,
|
|
"cleanUrls": true,
|
|
"redirects": [
|
|
{
|
|
"source": "/en/index.html",
|
|
"destination": "/en/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/de/index.html",
|
|
"destination": "/de/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/fr/index.html",
|
|
"destination": "/fr/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/pt/index.html",
|
|
"destination": "/pt/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/ar/index.html",
|
|
"destination": "/ar/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/index.html",
|
|
"destination": "/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/recursos-implementacion-odoo",
|
|
"destination": "/odoo/",
|
|
"permanent": false
|
|
},
|
|
{
|
|
"source": "/en/odoo-hosting/odoo-hosting-schweiz-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-schweiz-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/fr/odoo-hosting/odoo-hosting-schweiz-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-schweiz-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/pt/odoo-hosting/odoo-hosting-schweiz-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-schweiz-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/ar/odoo-hosting/odoo-hosting-schweiz-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-schweiz-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/odoo-hosting-schweiz-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-schweiz-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/fr/odoo-hosting/cheap-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/cheap-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/de/odoo-hosting/cheap-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/cheap-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/pt/odoo-hosting/cheap-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/cheap-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/ar/odoo-hosting/cheap-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/cheap-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/cheap-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/cheap-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(en|fr|pt|ar|es)/odoo-hosting/bestes-odoo-hosting-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/bestes-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/bestes-odoo-hosting-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/bestes-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(en|fr|pt|ar|es)/odoo-hosting/kostenloses-odoo-hosting-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/kostenloses-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/kostenloses-odoo-hosting-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/kostenloses-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(en|fr|pt|ar|es)/odoo-hosting/odoo-hosting-deutschland-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-deutschland-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/odoo-hosting-deutschland-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-deutschland-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(en|fr|pt|ar|es)/odoo-hosting/odoo-hosting-oesterreich-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-oesterreich-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/odoo-hosting-oesterreich-2026/(.*)",
|
|
"destination": "/de/odoo-hosting/odoo-hosting-oesterreich-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(de|fr|pt|ar|es)/odoo-hosting/best-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/best-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/best-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/best-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(de|fr|pt|ar|es)/odoo-hosting/free-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/free-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/free-odoo-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/free-odoo-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(de|fr|pt|ar|es)/odoo-hosting/odoo-hosting-germany-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-hosting-germany-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/odoo-hosting-germany-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-hosting-germany-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(de|fr|pt|ar|es)/odoo-hosting/odoo-hosting-uk-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-hosting-uk-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/odoo-hosting-uk-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-hosting-uk-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(de|fr|pt|ar|es)/odoo-hosting/odoo-sh-alternatives-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-sh-alternatives-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/odoo-sh-alternatives-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-sh-alternatives-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/:lang(de|fr|pt|ar|es)/odoo-hosting/odoo-vps-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-vps-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-hosting/odoo-vps-hosting-2026/(.*)",
|
|
"destination": "/en/odoo-hosting/odoo-vps-hosting-2026/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-ai/odoo-18-ai-nuevas-features-2025/:path*",
|
|
"destination": "/odoo-ia/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-ai/odoo-withstruccion-ai-projects-2025/:path*",
|
|
"destination": "/odoo-ia/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo-ai/:path*",
|
|
"destination": "/odoo-ia/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/pt/odoo/consultoria-erp",
|
|
"destination": "/pt/odoo/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/de/odoo/consultoria-erp",
|
|
"destination": "/de/odoo/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/odoo/consultoria-erp",
|
|
"destination": "/odoo/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/consultoria-erp",
|
|
"destination": "/odoo/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/mes",
|
|
"destination": "/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/Odoo-Hosting/digitalocean-Hosting-Odoo-deployment-2025/:path*",
|
|
"destination": "/odoo-hosting/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/Odoo-Hosting/:path*",
|
|
"destination": "/odoo-hosting/:path*",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/en/odoo-hosting/odoo-sh-official-hosting/:path*",
|
|
"destination": "/en/odoo-hosting/",
|
|
"permanent": true
|
|
},
|
|
{
|
|
"source": "/recursos/guia-aws-odoo.pdf",
|
|
"destination": "/odoo-hosting/",
|
|
"permanent": true
|
|
}
|
|
],
|
|
"headers": [
|
|
{
|
|
"source": "/(.*)",
|
|
"headers": [
|
|
{
|
|
"key": "X-Content-Type-Options",
|
|
"value": "nosniff"
|
|
},
|
|
{
|
|
"key": "X-Frame-Options",
|
|
"value": "SAMEORIGIN"
|
|
},
|
|
{
|
|
"key": "Referrer-Policy",
|
|
"value": "strict-origin-when-cross-origin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"source": "/css/(.*)",
|
|
"headers": [
|
|
{
|
|
"key": "Cache-Control",
|
|
"value": "public, max-age=31536000, immutable"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"source": "/js/(.*)",
|
|
"headers": [
|
|
{
|
|
"key": "Cache-Control",
|
|
"value": "public, max-age=31536000, immutable"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"source": "/components/(.*)",
|
|
"headers": [
|
|
{
|
|
"key": "Cache-Control",
|
|
"value": "public, max-age=31536000, immutable"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|