Apache-2.2

特定 URL 的 Apache 基本身份驗證

  • November 16, 2020

我有一個要修改的生產站點(從法語翻譯成英語)。修改後的部分將放置在domain.com/enURL 位置,我只想在修改期間使用基本的 HTTP 身份驗證來保護這部分。

我希望有相同的行為,就好像我en在我的 web 根文件夾上有一個目錄,並且.htaccess在這個目錄上有一個文件來實現基本身份驗證。不幸的是,我不能這樣做,因為該站點在 Wordpress 上執行並使用重寫規則,所以我無法在en不繞過 Wordpress 的情況下創建目錄。

我應該.htaccess在根目錄中放置哪些指令以僅為該/en位置啟用基本身份驗證?我嘗試使用該<Location /en></Location>塊,但它會產生 500 錯誤,所以我想這個塊僅在 apache 配置文件中受支持。

我明白了…下面的程式碼將僅在回調目錄上禁用身份驗證,也許您可以修改此邏輯,使其僅在所需目錄上啟用身份驗證,或者在名稱與您希望的目錄不匹配的所有目錄上禁用身份驗證保護。

# set an environment variable "noauth" if the request starts with "/callbacks/"
SetEnvIf Request_URI ^/callbacks/ noauth=1

# the auth block
AuthName "Please login."
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /xxx/.htpasswd

#Here is where we allow/deny
Order Deny,Allow
Satisfy any
Deny from all
Require valid-user
Allow from env=noauth

引用自:https://serverfault.com/questions/532039