使用.htaccess删除.html URL扩展名的问题

3
尝试使用 .htaccess 从网站中删除 .html 扩展名。例如: www.mysite.com/charts.html 将变为 www.mysite.com/charts
以下脚本位于 .htaccess 文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]

但是当在浏览器中输入没有.html扩展名的url时,会显示403 Forbidden错误。希望能得到帮助。


我们需要创建一个配置文件吗?我查看了一下服务器文件,但没有找到任何配置文件。 - RMX
1个回答

7
我在其他地方找到了这个解决方案:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

来源: 1)http://www.catswhocode.com/blog/10-useful-htaccess-snippets-to-have-in-your-toolbox 2)http://eisabainyo.net/weblog/2007/08/19/removing-file-extension-via-htaccess/

这些链接提供了10个有用的.htaccess代码片段,可以帮助您在IT技术方面进行一些操作。同时,其中一个链接还提供了一种通过.htaccess文件来去除文件扩展名的方法。

我尝试了该网站上所有不同的脚本,但似乎没有一个能够正常工作,而且一直出现403错误。 - RMX
在删除了一个与HTML文件同名的文件夹后,使用此脚本使其正常工作。谢谢。 - RMX
工作了。谢谢! - joshiki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接