防止瀏覽器直接訪問 Wordpress 外掛的文本文件
我有一個 Wordpress 外掛“custom-plugin”,它有一些幫助配置它的 .txt 文件。我想阻止瀏覽器直接訪問這些 .txt 文件。
我以前從未使用過 htaccess,但我正在嘗試編輯根 .htaccess 文件並添加以下行:
# BEGIN custom-plugin # Block web browser access to .txt files. RedirectMatch .*/custom-plugin/.*\.txt$ http://MyWebsite.com # END custom-plugin
唉,它不起作用,我仍然可以直接訪問*
https://www.MyWebsite.com/wp-content/plugins/custom-plugin/plugin_settings.txt
*我做錯了 htaccess 嗎?
我想要做的就是阻止訪問這些文件 - RedirectMatch 是錯誤的選擇嗎?
注意:這是根 htaccess 文件(位於*
public_html/.htaccess
*)。
目前尚不清楚為什麼您的重定向不起作用(假設您的
.htaccess
文件中已經有其他指令在起作用)。也許您與其他指令有衝突。但是,如果您想阻止對這些
.txt
文件的訪問,那麼您不想重定向請求,因此RedirectMatch
不是適合該工作的工具。只需阻止對所有
.txt
文件的訪問:<Files "*.txt"> Require all denied </Files>
這將為所有
.txt
對文件的HTTP 請求返回 403 Forbidden。假設您不需要特定於您的“自定義外掛”。還假設 Apache 2.4+*旁白:*這些
.txt
/config 文件是否真的需要外掛繼續使用,而不僅僅是安裝?!**更新:**我只想阻止我自己的外掛文件夾中的那些
如果您不想
.htaccess
在外掛目錄中創建額外的文件(將獲得額外的好處,它可以簡單地與外掛一起分發),那麼您可以在根.htaccess
文件中使用 mod_rewrite 指令。在任何現有的 WordPress mod_rewrite 指令之前,以下內容需要靠近
.htaccess
文件頂部:RewriteRule ^wp-content/plugins/custom-plugin/.+\.txt$ - [F]
或者,如果您想對目錄結構更靈活一點:
RewriteRule /custom-plugin/.+\.txt$ - [F]
上面還為任何匹配
RewriteRule
模式的請求返回 403 Forbidden 。使用L
標誌時不需要F
標誌。替換字元串由一個連字元 (-
) 組成,表示沒有替換。或者,在 Apache 2.4+ 上,您可以使用 Apache 表達式:
<If "%{REQUEST_URI} =~ m#/custom-plugin/.+\.txt$#"> Require all denied </If>