首页 > 解决方案 > .htaccess 文件从 url 中删除 .html 不起作用

问题描述

我试图摆脱页面 url 中的 .html ,我发​​现 .htaccess 文件中的代码是这样做的唯一方法,我已经尝试了几乎所有在线方法和代码,但它不会工作。

制作了一个 .htaccess 文件并将其放入 public_html 文件中。我使用的一般代码是:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^.]+)$ $1.html [NC,L]

但是我已经尝试了许多其他代码变体,所以我认为问题不在于代码,而在于文件加载到网站的方式?

是的,我所有的href都被缩短了,没有.html:ex/ <li><a href="/contact">Contact</a></li>

主要错误是我总是收到 404 错误 - 当我尝试访问某个页面时找不到,例如/website.com/contact。但是 website.com/contact.html 工作正常或无法获取/错误

我已经在我的托管网站上尝试过这个,并通过 vscode 实时服务器进行了测试,我觉得这不是 .htaccess 文件的问题吗?因为这个解决方案几乎适用于除我之外的所有人。

标签: htmlapache.htaccessweburl

解决方案


#remove html file extension-e.g. https://example.com/file.html will become https://example.com/file
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]

对我有用,从plothost 开始,你似乎错过了一条线。


推荐阅读