没有扩展名的网址的Apache重写规则

时间:2015-09-25 20:11:05

标签: apache .htaccess mod-rewrite url-rewriting

我有一个静态网站。我想重写任何没有扩展名的网址扩展名为.html的网址。

例如:

如果链接是" example.com/test1" ;,请让服务器找到" example.com/test1.html"但是在地址栏中保留" example.com/test1"在那里展示。

我需要将此重写规则应用于最后没有(。*或/)的任何网址。

我是Apache的初学者。任何帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

您可以打开MultiViews选项,mod_negotiation将执行剩余的工作。但这可能导致一些problems

答案 1 :(得分:0)

如果它只是HTML扩展名,那么就像:

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /+([^\ \?]+)\.html
RewriteRule ^ /%1 [L,R]

RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+)$ /$1.html [L]