web-dev-qa-db-ja.com

ApacheRewriteEngine構成の目的

他の誰かが書いたApache設定ファイルでこのスニペットに遭遇しましたが、目的がわかりません。誰かがこれが何のためにあるのか説明できますか?

RewriteEngine On
RewriteCond %{THE_REQUEST} !HTTP/1\.1$
RewriteRule .* - [F]
1
FluffyBeing

これらのディレクティブは、HTTP/1.1以外のリクエストを拒否します(403 Forbidden)。多くのボットはHTTP/1.0リクエストヘッダーでクロールするため、これらはブロックされます。最新のブラウザはすべてHTTP/1.1を使用します(少なくとも)。ただし、HTTP/2.0がすでにここにあるため、これらのディレクティブはおそらく時代遅れであり、使用すべきではありません。

THE_REQUEST server変数には、次の形式の初期リクエストヘッダーが含まれます。

GET /foo HTTP/1.1

HTTP/1.0のみをブロックしたい場合は、代わりに次のようなものを使用できます。

RewriteEngine On
RewriteCond %{THE_REQUEST} HTTP/1\.0$
RewriteRule ^ - [F]
0
MrWhite