我在嘗試通過 rest API 訪問我的網站時遇到問題(401 錯誤)。我將 .htaccess 檔案中的 Wordpress 塊移到頂部,現在我的網站可以訪問了。這是我現在在 .htaccess 檔案中的第一個塊?
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
我需要像這樣組合 RewriteRule 行的兩行嗎?它在功能上有什么改變嗎?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
在我進行任何更改之前,.htaccess 檔案中的第一個塊是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
因此,通過移動“Wordpress 塊”,它只會添加一行 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
uj5u.com熱心網友回復:
我需要合并這兩行嗎
您當然不需要“需要”將這兩行組合起來。
如果您這樣做,訪問您的其余 API 可能沒有任何區別。
一個單一的組合指令
通過結合這兩個指令,正如您所做的那樣,將意味著HTTP_AUTHORIZATION僅在通過 WordPress(包括主頁)路由的請求上設定 env var(用于幫助進行 HTTP 身份驗證)。并且(在 Apache *1 上)當請求被重寫到 WordPress 前端控制器 ( ) 時,REDIRECT_HTTP_AUTHORIZATION將不會生成env var index.php,即。主頁以外的頁面請求。盡管我很確定 WordPress 無論如何都不會利用這一點。在HTTP_AUTHORIZATION的環境變數將不會請求靜態資源(圖片,CSS,JS等),因為它本來之前設定。
兩個獨立的指令
使用兩個單獨的指令,就像在原始代碼中一樣,環境變數HTTP_AUTHORIZATION在每個請求上設定,包括對靜態資源的請求。(但通常,這是多余的。)并且(在 Apache *1 上)REDIRECT_HTTP_AUTHORIZATION當請求被重寫到 WordPress 前端控制器 ( index.php) 時,將生成 env var ,即。主頁以外的頁面請求。
(*1與 LiteSpeed 不同的是,REDIRECT_...無論如何都不會生成表單的環境變數。)
我將
.htaccess檔案中的 Wordpress 塊移到頂部,現在我的網站可以訪問了。
這不一定是正確的做法。通常,WordPress 代碼塊(前端控制器)應該出現在檔案的后面。有可能只是一個沖突的規則,應該被“修改”或可能轉移到后WordPress的代碼塊。但是將這些指令移到 WordPress 代碼塊之后可能會有效地完全“禁用”這些規則。
更新:
在我將“Wordpress”塊移到頂部之前,這是第一個塊的內容:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
該代碼塊只是 WordPress 代碼塊(減去HTTP_AUTHORIZATIONvar)的錯誤“副本”,應該完全洗掉!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/341373.html
標籤:WordPress的 阿帕奇 .htaccess http-headers
