可以将Apacheconfiguration为忽略损坏的.htaccess文件,但如果它们是正确的,请尊重它们?

我有一个程序编写和更新.htaccess文件中的一些RewriteRules(主要configuration是在虚拟主机部分)。 这在大多数情况下工作正常,但有时文件被损坏。

发生这种情况时,服务器响应每个请求500内部服务器错误,因为.htaccess文件已损坏。

是否有失败保护选项,或者我可以configuration告诉Apache它应该忽略.htaccess文件,如果它是腐败的,但尊重它,如果它是好的?

或者至less是否有一个工具,我可以用来定期检查.htaccess文件是否有效(例如通过cron作业),并删除它是否损坏?

尝试AllowOverride指令的Nonfatal选项。 这是由Apache 2.4及以上版本支持的。

你可能想要使用这个:

 AllowOverride Nonfatal=Unknown 

不,没有内部机制来处理.htaccess文件。 你应该做的就是在你的程序中join这个合理的检查,毕竟这是很明显的腐败来自哪里。

“做”的唯一方法是:

 # service httpd configtest && service httpd graceful && service httpd status Syntax OK httpd (pid 4580) is running... # 

…你可以看到它在自己的方式,它检查configuration,如果它确定那么它会优雅地重新启动httpd ,它会告诉你的状态,假设configtest是好的,否则它不会去w / graceful重启。