通过htaccess添加文件扩展名

时间:2012-04-02 08:55:26

标签: .htaccess file-extension

是否可以将.html添加到不包含文件扩展名的网址。例如,

mydomain.com/somepage 将指向 mydomain.com/somepage.html

我已尝试使用以下内容但收到内部服务器错误。

RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ $1.html [NC,L]

由于

1 个答案:

答案 0 :(得分:1)

RewriteEngine On
RewriteBase /

# add .html file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.+)$ $1.html [L]

只有在存在扩展名为.html的文件时才会重写(安全重写 - 将解决“达到的最大内部重定向数”问题)。换句话说:如果请求/about并且/about.html存在,那么它将被重写。另一方面,如果请求/yeahbaby但没有/yeahbaby.html文件存在,那么什么都不会发生(404处理程序应该启动......或者你可能有其他规则)。