删除没有后端的网站上的html扩展



我正在编写一个简单的单页寻呼机,没有后端,因为网站没有数据库等。因此,该项目只包含3个文件:home.html、styles.css、script.js。除了一件事外,一切似乎都很好:地址看起来像这样http://127.0.0.1:5500/home.html.

当我将网站上传到托管提供商时,我希望ULR看起来像这样:http://mywebsite.com/home甚至http://mywebsite.com.(不过我还没有选择提供商(。

互联网上说我需要创建一个.htaccess文件,并在其中添加几行代码来实现我的目标,但据我所知,.htacccess文件是一个服务器端文件。如果我没有后端,我该如何使用它并让它发挥作用?

现在,我真的不认为在我的情况下删除html扩展是可能的,为此,我确实需要某种后端编码。

但无论如何,你能确认一下我是否正确理解这个问题吗?

我认为这里的术语很混乱。在某种程度上,您的托管提供商是您正在使用的后端。为这三个文件提供服务的服务器端系统。它是一个http服务器,也就是解释这种分布式配置文件(".htaccess"(的组件。因此,所有组件都存在,应该可以实现您的要求。

也许您可以将文件home.html重命名为index.html?然后由于托管提供商选择的典型默认设置,很可能会开箱即用。试试

如果不起作用,那么实际上您必须添加一个重写规则。这样的东西应该有效:

RewriteEngine on
RewriteRule ^/?$ /index.html [END]

显然,index.htmlhome.html,取决于您最终如何命名该文件,index.html只是典型的名称。

这应该允许通过https://example.com/这样的URL加载页面,因此不需要额外的路径。http服务器处理请求时,内部重写会添加路径(文件名(。

您可能还想添加一个外部重定向,以便将对https://example.com/index.html的请求重定向到https://example.com/:

RewriteEngine on
RewriteRule ^/?index.html` / [R=301,END]
RewriteRule ^/?$ /index.html [END]

最新更新