简单的mod_rewrite隐藏扩展名

时间:2012-01-12 01:40:47

标签: mod-rewrite

我想隐藏我的网页扩展名,以便:

  • /page
  • /page/
  • /page.html

全部重定向到page.html

这个主题有一个几乎可行的解决方案:How to hide the .html extension with Apache mod_rewrite

但是当使用/page/时,它会将尾部斜杠视为文件夹指示符,因此此HTML文件中的所有链接和相对路径都会转到/page/style.css,而不是{{ 1}}。

这是我当前的/style.css

.htaccess

我该如何解决?

2 个答案:

答案 0 :(得分:0)

我会在你的php或其他语言中添加一个全局变量$ URL_ROOT,并将所有相关链接与它的绝对链接...

答案 1 :(得分:0)

您实际上并不需要mod_rewrite,而是可以content negotiation使用multiviews

可以通过在配置或htaccess文件中添加以下内容来启用多视图。

Options +MultiViews

启用该选项 example.com/filename将解析为example.com/filename.html(地址栏中没有.html)。