我在Firebase Hosting上看到意外的行为(至少按照我的说法),并带有斜杠。我希望Firebase可以在URL后面加上斜杠(托管目录中存在的实际文件除外)。为此,我设置trailingSlash到true在firebase.json。
结果是:
example.com redirect to example.com/index.html/
example.com/js/script.js redirect to example.com/js/script.js/
example.com/images/image.png redirect to example.com/images/image.png/
Run Code Online (Sandbox Code Playgroud)
预期的行为将是:
example.com redirect to example.com/
example.com/js/script.js served as it is without any redirect
example.com/images/image.png served as it is without any redirect
Run Code Online (Sandbox Code Playgroud)
在实际文件URL的末尾加上斜杠使浏览器/服务器认为script.js是目录而不是文件,并导致404。在根目录中添加index.html根本不是很优雅。
希望cleanUrls做我设置的伎俩cleanUrls,以true沿trailingSlash,并立即在网站进入无限重定向循环和加载失败。如何阻止Firebase在实际js或图像资产的根和尾部添加“ index.html”?
编辑:
按照弗兰克的要求,这是我正在使用的firebase.json:
{
"firebase" : "example",
"public" : "public",
"cleanUrls" : false,
"trailingSlash" : true,
"ignore" : [ "firebase.json", "**/.*", "**/node_modules/**" ],
"rewrites": [{
"source" : "**", …Run Code Online (Sandbox Code Playgroud)