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

jogvjijk  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(127)

我正在编码一个简单的一页没有后端的网站不会有一个数据库等因此,该项目只包括3个文件:home.html、styles.css、script.js。一切似乎都运行正常,除了一件事:地址类似于http://127.0.0.1:5500/home.html
当我将网站上传到托管提供商时,我希望ULR看起来像这样:http://mywebsite.com/home或甚至http://mywebsite.com。(虽然我还没有选择提供程序)。
互联网上说,我需要创建一个.htaccess文件,并添加几行代码来完成我的目标,但据我所知,.htaccess文件是一个服务器端文件。如果我没有后端,我如何使用它,使它做的伎俩?
现在,我真的不认为这是可能的,以我的情况下删除html扩展,这样做,我确实需要某种后端编码。
但无论如何,你能确认一下我是否正确理解了这个问题吗?

j9per5c4

j9per5c41#

我认为这里有一个术语的混淆。在某种程度上,你的主机提供商是你正在使用的后端。一个服务器端系统,服务于三个文件。它是一个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]

相关问题