如何在 firebase 托管网页上删除 .php 扩展名?
How to remove .php extension on firebase hosted webpage?
我在使用 firebase 托管的网页上重写 url 时遇到问题。
这就是我的 firebase.json 的样子。
{
"hosting": {
"cleanUrls": true,
"trailingSlash": true,
"headers": [ {
"source": "*.php",
"headers": [ {
"key": "Content-Type",
"value": "text/html"
} ]
} ],
"appAssociation": "AUTO",
"public": "public",
"rewrites": [
{
"source": "**/!(*.css|*.js|*.map|*.jpg|*.gif|*.png|*.php),/post/**",
"dynamicLinks": true
}
]
}
}
到目前为止一切顺利。我遇到的问题不起作用。
例如,当我的网页托管在 https://google.com
上时
我的联系方式内页目前在https://google.com/contact.php
这个可以,但那个不行 https://google.com/contact
但这就是我想要的。另外,也许您可以通过给出 2 条重写规则来检查我是否正确,第一个是
"**/!(*.css|*.js|*.map|*.jpg|*.gif|*.png|*.php)",
第二个是这个
/post/**
我可以一起写吗?还是我应该为
做一个自己的重写标签
/post/**
Firebase 托管提供的最接近的选项是您已经设置的 "cleanUrls": true
选项。但这只会删除 .html
扩展名。这是设计使然,因为 .html
文件通常作为静态内容提供,其完整 URL 显示在浏览器中。
Firebase 托管不会以任何方式解释 PHP 代码,因此它很可能将您的 PHP 代码作为纯文本提供给您的网站访问者。如果您的文件中没有 PHP 代码,请将它们重命名为 .html
,此时 "cleanUrls": true
选项将删除扩展名。
我在使用 firebase 托管的网页上重写 url 时遇到问题。 这就是我的 firebase.json 的样子。
{
"hosting": {
"cleanUrls": true,
"trailingSlash": true,
"headers": [ {
"source": "*.php",
"headers": [ {
"key": "Content-Type",
"value": "text/html"
} ]
} ],
"appAssociation": "AUTO",
"public": "public",
"rewrites": [
{
"source": "**/!(*.css|*.js|*.map|*.jpg|*.gif|*.png|*.php),/post/**",
"dynamicLinks": true
}
]
}
}
到目前为止一切顺利。我遇到的问题不起作用。 例如,当我的网页托管在 https://google.com
上时我的联系方式内页目前在https://google.com/contact.php
这个可以,但那个不行 https://google.com/contact 但这就是我想要的。另外,也许您可以通过给出 2 条重写规则来检查我是否正确,第一个是
"**/!(*.css|*.js|*.map|*.jpg|*.gif|*.png|*.php)",
第二个是这个
/post/**
我可以一起写吗?还是我应该为
做一个自己的重写标签/post/**
Firebase 托管提供的最接近的选项是您已经设置的 "cleanUrls": true
选项。但这只会删除 .html
扩展名。这是设计使然,因为 .html
文件通常作为静态内容提供,其完整 URL 显示在浏览器中。
Firebase 托管不会以任何方式解释 PHP 代码,因此它很可能将您的 PHP 代码作为纯文本提供给您的网站访问者。如果您的文件中没有 PHP 代码,请将它们重命名为 .html
,此时 "cleanUrls": true
选项将删除扩展名。