需要改进这个规则。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /$1.htm [L]
根据我的托管公司:不存在页面上出现 500 错误的原因是由于您的应用程序使用了上述重写规则,如下所示:上述规则意味着对不存在的文件或目录的任何请求都将被重定向到 URI.htm,其中 URI 是请求的 URI。
继续:在此示例archives.hwg.org/thispagedoesnotexist
中,正在重写到archives.hwg.org/thispagedoesnotexist.htm
,这是一个不存在的页面,因此重写规则尝试再次将请求重写到archives.hwg.org/thispagedoesnotexist.htm.htm
,这也是不存在的。这将继续循环,直到生成以下错误。
这是我使用上述重写规则的一些实际站点文件,但如果您尝试输入不存在的文件或目录,您将看到500 error
.
这是实际文件的链接格式:
archives.hwg.org/hwg-theory/01082413075904.02137@kira.pacbell.net
这是实际文件:
archives.hwg.org/hwg-theory/01082413075904.02137@kira.pacbell.net.htm
这是实际文件的链接格式:
archives.hwg.org/hwg-theory/2001/07
这是实际文件:
archives.hwg.org/hwg-theory/2001/07.htm