是否可以将.html添加到不包含文件扩展名的网址。例如,
mydomain.com/somepage 将指向 mydomain.com/somepage.html
我已尝试使用以下内容但收到内部服务器错误。
RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ $1.html [NC,L]
由于
答案 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处理程序应该启动......或者你可能有其他规则)。