我的目標是拒絕訪問所有點檔案,例如.htaccess,.env并發回 404,但允許.well-known訪問letencrypt-folder
RewriteEngine On
RewriteRule "(^|/)\.(?!well-known)" - [F]
RedirectMatch 404 /\..*$
任何有關如何實作這一目標的提示都受到高度贊賞 Best end
uj5u.com熱心網友回復:
請嘗試以下操作:
RewriteEngine On
RewriteRule (?:^|/)\.[^/] $ - [R=404]
這將為以點開頭的任何檔案(或者更確切地說,最后一個 URL 路徑段)提供 404 。但它會允許.well-known/- 因為這是一個目錄,所以也至少有一個斜杠 檔案名后綴。
更新:修改正則運算式,使其匹配最后一個路徑段開頭的點,而不是最后一個路徑段中的任何位置!
請注意,該F標志以 403 Forbidden 回應,而不是請求的 404。
或者,您可以使用僅匹配“檔案”的<Files>(或<FilesMatch>)容器。例如:
<Files ".*">
# 404 Not Found
Redirect 404 /
# OR... 403 Forbidden
#Require all denied
</Files>
盡管這也阻止了對/.well-known(無斜杠)的請求——盡管這無論如何都不是嚴格的有效請求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/326431.html
標籤:正则表达式 阿帕奇 .htaccess 重定向 url重写
