ルート フォルダー内のすべての HTTP POST 要求をブロックしようとしていますが、HTTPS POST は許可しています。サーバーの帯域幅を減らしている膨大な量の POST リクエストを処理していますが、それらはすべて HTTP です。実際の顧客が Web サイトにアクセスすると、POST アクション (ログインなど) が必要になりますが、それらはすべて HTTPS ページで行われます。問題のあるリクエストを取り除き、HTTPS POST アクションのみを許可することはできますか? 以下を使用して、ブロックできます。
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REMOTE_ADDR} !127.0.0.1
RewriteRule ^ / [F]
次に、HTTPS を許可するためにこれを試しました。
#if https on
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ / [L]
#else
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REMOTE_ADDR} !127.0.0.1
RewriteRule ^ / [F]
これは 500 内部サーバー エラーを返します。正当な POST リクエストはルートから発信されるため、POST を許可するサブフォルダーに特別な .htaccess を追加することはできません。