Um Ihre Fragen direkt zu beantworten - Sie können solche Dateien entweder an einem anderen Ort aufbewahren oder Apache so konfigurieren, dass der Zugriff auf sie verweigert wird -, ist es relativ einfach, den Zugriff auf * .bak zu verweigern.
Apache generiert und zeigt eine Verzeichnisliste für jedes Verzeichnis an, das keine Indexdatei enthält - definiert durch die DirectoryIndex-Direktive, aber normalerweise index.html, index.htm, sofern dies nicht konfiguriert ist (wie oben von MH erwähnt). index.php und ähnliches.
Allgemeiner gesagt:
Möglicherweise möchten Sie ein Revisionskontrollsystem wie SVN oder git (oder sogar RCS) verwenden, um alte Versionen UND einen Änderungsverlauf Ihrer Webseiten beizubehalten (einschließlich der Möglichkeit zu sehen, was sich geändert hat und wann und, was noch wichtiger ist, der Möglichkeit dazu zu einer früheren Version zurückkehren)
Sowohl git als auch svn benötigen ein Repository, das woanders eingerichtet ist. RCS ist ziemlich primitiv und grundlegend, erfordert jedoch keine Einrichtung. Der Revisionsverlauf wird entweder im selben Verzeichnis oder in einem ./RCS-Unterverzeichnis gespeichert, sofern eines vorhanden ist. Ein kleines Ärgernis bei RCS ist, dass beim Einchecken einer Datei die Berechtigungen in schreibgeschützt geändert werden. Sie müssen sie daher erneut auschecken, bevor Sie sie erneut bearbeiten können (oder ci -l
zum Einchecken einer Datei und sofortigen Einchecken verwenden) es raus).
IMO git ist wahrscheinlich übertrieben für diesen Job, SVN ist in Bezug auf Komplexität und Fähigkeit zur Verwaltung des Revisionsverlaufs einer Reihe von handbearbeiteten HTML-Seiten nahezu ideal, und RCS ist archaisch, aber dennoch nützlich. Mit RCS können Sie Dateien nur direkt in / var / www bearbeiten, was bedeutet, dass die Änderungen "live" sind, sobald Sie die Datei speichern. Mit svn oder git können Sie eine lokale Kopie auschecken, z. B. in Ihrem Home-Verzeichnis auf Ihrem Desktop-Computer, die Dateien bearbeiten, die Änderungen einchecken und dann die Updates in / var / www auf dem Server auschecken, wenn dies der Fall ist fertig. Sie können die Änderungen auch zuerst zum Testen auf einem Staging-Server auschecken, bevor Sie sie auf dem Produktionsserver auschecken.
Sie können dann den Zugriff auf die Unterverzeichnisse .svn /, .git /, RCS / etc mit Apache verweigern - siehe z. B. /programming/398008/deny-access-to-svn-folders-on-apache
Natürlich erfordert die effektive Verwendung der Revisionskontrolle ein wenig Disziplin. Sie müssen sich angewöhnen, Ihre Änderungen immer dann einzuchecken, wenn Sie sie vornehmen - die Mühe lohnt sich.
/var/www
.