| `configAndLogDir` | `[civicrm.files]/ConfigAndLog` | Prohibit all web access | Writes and reads should be infrequent, unless there are errors/warnings.
| `imageUploadDir` | `[civicrm.files]/persist/contribute` | Allow file reads but prohibit directory listing | Writes and reads vary widely (depending on use-case/config).
| `templateCompileDir` | `[civicrm.files]/templates_c` | Prohibit all web access | Writes should be infrequent. Reads are very frequent.
| `uploadDir` | `[civicrm.files]/upload` | Prohibit all web access | Writes and reads vary widely (depending on use-case/config).
!!! tip "Advanced filesystem and web server configurations"
Each folder has different requirements (with respect to permissions,
read-write frequency, etc). Most Apache-based web servers respect the `.htaccess`
and `index.html` files, and these are configured automatically.
However, some web-servers don't support these, so CiviCRM's
status-check shows warnings if it detects unexpected configuration.
### Tip: Programmatic lookup
If you are writing an extension or integration that needs to reference the