我有一个程序在 .htaccess 文件中写入和更新一些 RewriteRules(主要配置在 vhosts 部分)。这在大多数情况下都运行良好,但有时文件会损坏。
发生这种情况时,服务器会对每个请求响应 500 内部服务器错误,因为 .htaccess 文件已损坏。
是否有一个故障安全选项或我可以配置的东西来告诉 Apache 如果 .htaccess 文件已损坏则应该忽略它,但如果文件正常则应该尊重它?
或者至少是否存在一个工具可以用来定期检查.htaccess 文件是否有效(例如通过 cron 作业)并在其损坏时将其删除?
答案1
答案2
不,没有用于检查 .htaccess 文件的内部机制。您应该做的是将健全性检查纳入您的程序中,毕竟,损坏的来源非常明显。
答案3
实现这一目标的唯一方法如下:
# service httpd configtest && service httpd graceful && service httpd status
Syntax OK
httpd (pid 4580) is running...
#
... 正如您所看到的,它以自己的方式执行此操作,它会检查配置,如果配置正常,则它会正常重新启动httpd
,并且它会向您显示其状态,假设配置configtest
正常,否则它不会graceful
重新启动。