Answers:
要直接回答您的问题-您可以将此类文件保留在其他位置,也可以将apache配置为拒绝访问它们-拒绝访问* .bak相对简单。
除非配置为不这样做(如上文MH所述),否则Apache将为所有不包含索引文件的目录生成并显示目录列表,该目录由DirectoryIndex指令定义,但通常由index.html,index.htm, index.php等。
一般而言:
您可能需要考虑使用诸如SVN或git(甚至是RCS)之类的版本控制系统来保留旧版本以及网页的更改历史记录(包括查看更改内容的能力以及何时以及更重要的是,恢复为以前的版本)
git和svn都需要在其他地方建立存储库。RCS是相当原始和基础的,但是不需要任何设置,它会将修订历史记录保存在同一目录或./RCS子目录(如果存在)中。RCS的一个小麻烦是,当您检入文件时,它将权限更改为只读,因此您必须再次检出该文件,然后才能再次对其进行编辑(或用于ci -l
检入文件并立即检入)出来)。
IMO git可能对这项工作有些大材小用,就复杂性和管理一组手工编辑的HTML页面的修订历史的能力而言,SVN接近理想状态,而RCS是过时的但仍然有用。使用RCS,您只能直接在/ var / www中编辑文件,这意味着所做的更改在保存文件后即“生效”。使用svn或git,您可以检出本地副本,例如,台式机上的主目录,编辑文件,检入更改,然后将更新检出到服务器上的/ var / www中。完成。您还可以先在登台服务器上签出更改以进行测试,然后再在生产服务器上签出更改。
然后,您可以使用apache拒绝对.svn / 、. git /,RCS /等子目录的访问-例如,请参见/programming/398008/deny-access-to-svn-folders-on-apache
当然,有效地使用修订控制将需要一点纪律。您必须养成在每次更改时都检查一下更改的习惯-这是值得的。
如果Options -Indexes
为该Directory
问题指定,那么Apache将不会生成目录列表。但是,如果有人猜测该文件名,并且操作系统允许Web服务器访问该文件,他们仍然可以访问该文件名。
tl;dr
Craig的答案,这是对那些人的最佳答案,尽管Craig的答案更为详尽。
将备份文件保存在中没有任何意义/var/www
。
进行备份时可以快速修复问题。我建议您在某个核心驱动器(外部环境无法访问)中创建一个新的备份目录,并将备份存储在该目录中。
/var/www
。