Apache-2.4
Apache RewriteEngine 配置目的
我在別人編寫的 Apache 配置文件中遇到了這個片段,但我不確定目的。誰能解釋這是乾什麼用的?
RewriteEngine On RewriteCond %{THE_REQUEST} !HTTP/1\.1$ RewriteRule .* - [F]
這些指令拒絕(403 Forbidden)任何不是 HTTP/1.1 的請求。許多機器人使用 HTTP/1.0 請求標頭進行爬網 - 因此這些將被阻止。所有現代瀏覽器都將使用 HTTP/1.1(至少)。但是,由於 HTTP/2.0 已經出現,這些指令可能已經過時,不應使用。
THE_REQUEST
伺服器變數包含表單的初始請求標頭:GET /foo HTTP/1.1
如果您只想阻止 HTTP/1.0,那麼您可以使用類似以下的內容:
RewriteEngine On RewriteCond %{THE_REQUEST} HTTP/1\.0$ RewriteRule ^ - [F]