为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Apache mod_rewrite隐藏.html扩展名

如何使用Apache mod_rewrite隐藏.html扩展名

LEATH 2019-08-13 14:28:18
如何使用Apache mod_rewrite隐藏.html扩展名我有一些静态网站,我只想隐藏.html扩展名:url /foo获取静态文件/foo.html浏览器仍然显示网址 /foo然后客户端可以发送风格的书签mydomain.com/foo而不是mydomain.com/foo.html。这听起来非常简单,mod_rewrite之前我曾经愉快地使用过(比如使用WordPress或重定向),但事实证明这更难破解。也许我错过了一些非常明显的东西,但我无法在任何地方找到解决方案而且我整天都在这里!我们运行自己的服务器,所以这可以去哪里是最好的地方。附录下面检查的解决方案工作正常。然后在运行该网站一段时间后,我注意到两个问题:所有页面都开始显得格格不入。我重新加载,清除缓存等,但仍然没有风格。我以前遇到过这个麻烦,找不到来源。有一个目录和一个名为'gallery'的html文件,因此/ gallery链接显示了一个目录列表而不是html文件。我应该可以排序那个,但欢迎进一步提示:-)
查看完整描述

3 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

试试这条规则:

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]

这将重写所有可以在追加时映射到现有文件的请求.html


查看完整回答
反对 回复 2019-08-13
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

当网站配置了虚拟主机/文档根时,接受的解决方案不起作用。


有我使用的解决方案:


RewriteEngine on

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}.html -f

RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 976 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信