Dot-Htaccess
htaccess 允許特定路徑
目前 htaccess 拒絕所有使用者。我只想讓所有使用者都可以訪問來自 wordpress 的 JSON 提要
從 htaccess 文件的位置,提要 url 是:
./row/wordpress/wp-json/wp/v2/screen
問題
據我了解,這是由重寫規則創建的“虛擬”網址。由於它不是一個實際的文件,而只是一個端點,我如何允許任何使用者訪問它?
目前嘗試
這是我目前的嘗試,它阻止所有沒有密碼的使用者。我的
Files
節點什麼都不做。// root folder's .htaccess AuthUserFile /var/www/domains/dev/.htpasswd AuthType Basic AuthName "Password Required" Require user SecretUser Order Deny,Allow Deny from All <Files "row/wordpress/wp-json/wp/v2/screen"> Allow from all </Files> Satisfy Any
問題
我怎樣才能讓
./row/wordpress/wp-json/wp/v2/screen
我的所有訪問者都可以看到的虛擬路徑?** 編輯 **
從那以後我都試過了
<Directory row/wordpress/wp-json/v2/> Allow from All </Directory> <Location row/wordpress/wp-json/v2/> Allow from All </Location>
沒有成功,他們都導致了 501
由於虛擬路徑(由 wordpress 創建)的性質,我不得不
THE_REQUEST
改用:<If "%{THE_REQUEST} =~ m#^GET /sites/dawna/wordpress/wp-json/#"> Allow from All Satisfy Any </If>
wordpress 重定向使用
wordpress/index.php
所以使用REQUEST_URI
不工作,因為 uri 總是/path/to/wordpress/index.php
使 my if 語句無用。筆記
如果您需要支持 PUT 或其他,則必須將其添加進去。
[A-Z]{3}
或者[A-Z]{3-6}
後者將對所有內容開放。
這裡有兩種不同的方法來允許單個 url(無論它是否引用物理文件)繞過基本密碼驗證:
選項 1:通過密碼保護允許單個 URL:
AuthType Basic AuthName "Password Required" AuthUserFile /var/www/domains/dev/.htpasswd Require expr %{REQUEST_URI} == '/row/wordpress/wp-json/wp/v2/screen' Require user SecretUser
選項 2:對與特定 URL 不匹配的所有請求應用密碼保護(此選項需要 Apache 2.4):
<If "%{REQUEST_URI} != '/row/wordpress/wp-json/wp/v2/screen'"> AuthType Basic AuthName "Password Required" AuthUserFile /var/www/domains/dev/.htpasswd Require user SecretUser </If>