Apache Files RewriteRule htaccess

httpd.conf

DocumentRoot "/usr/local/www/apache24/data"

<Directory "/usr/local/www/apache24/data">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<Files ".ht*">
    Require all denied
</Files>

/usr/local/www/apache24/data/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Forbidden の部分ですがディレクトリそのものに対しての制限がかからない正規表現になっているので、例えば vendor ディレクトリであれば、

RewriteRule "^vendor/" - [F]

RewriteRule "^vendor($|/)" - [F,NC]

とした方がいいように思えます。

Apache の解説ではリダイレクトコードに 300-399 外を選択した場合は L が指定された場合と同様に書き換えが停止されるとあります。

EC-CUBE 4.1の.htaccessに関する考察 - mattintosh note 2022

nginx は分かりやすい

location ~ /\.ht {
    deny  all;
}

Laravelの.htaccessの設定を読み解く - suzu6の技術ブログ