Options -Indexes

<IfModule mod_rewrite.c>
  RewriteEngine On

  # Фотоальбоми не віддаємо напряму з /upload.
  # Усе, що лежить у /upload/<username>/albums/<album_id>/..., йде через PHP-контролер
  # з перевіркою прав доступу.
  RewriteRule ^([^/]+)/albums/([0-9]+)/(.+)$ /functional/albums/photo.php?path=/upload/$1/albums/$2/$3 [B,QSA,L,NC]
</IfModule>

# Ховаємо службові/приховані файли
<FilesMatch "(^\.|composer\.(json|lock)|package(-lock)?\.json|yarn\.lock|pnpm-lock\.yaml)$">
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Deny from all
  </IfModule>
</FilesMatch>

# Забороняємо виконання PHP-подібних і службових файлів
<FilesMatch "\.(php|phtml|php[0-9]?|phar|cgi|pl|asp|aspx|js|sh)$">
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Deny from all
  </IfModule>
</FilesMatch>

# На всяк випадок не даємо Apache трактувати їх як виконувані
<IfModule mod_mime.c>
  AddType text/plain .php .phtml .php3 .php4 .php5 .php7 .php8 .phar .cgi .pl .asp .aspx .js .sh
</IfModule>