.htaccess - 301重定向所有没有扩展名的文件,扩展名为.html

时间:2010-12-02 16:51:36

标签: .htaccess mod-rewrite redirect

我需要301将请求重定向到没有扩展名的文件,并附加.html扩展名:

http://www.mydomain.com/this

http://www.mydomain.com/this.html

以下内容不会被重定向:

http://www.mydomain.com/that/ (it's a directory)
http://www.mydomain.com/other.php

感谢上述任何帮助,谢谢。

1 个答案:

答案 0 :(得分:5)

尝试以下方法。我会把它作为你集合中的最后一条规则(即底部),以免与任何其他规则发生冲突。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ /$1.html [R=301,L]

这应确保请求不是目录,并且不以某种扩展名结尾。如果满足这些条件,它将使用.html附加请求。

这是未经测试的,因此如果有效,请回复。 ;)