Acho que a nova versão (V5.9) do Wordpress adiciona esta linha ao .htaccess:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
A versão antiga do Wordpress não tem essa linha. O que isto significa? Posso removê-lo?
Acho que a nova versão (V5.9) do Wordpress adiciona esta linha ao .htaccess:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
A versão antiga do Wordpress não tem essa linha. O que isto significa? Posso removê-lo?
Se você não estiver usando a autenticação HTTP com o WordPress, poderá removê-la.
Se você estiver usando o PHP como um módulo do Apache, poderá removê-lo. (Talvez o WP detecte isso quando gera o
.htaccess
arquivo?)A parte : No entanto, como essa diretiva está dentro do bloco de código do WordPress (ou seja, entre os marcadores de comentário
# BEGIN WordPress
/# END WordPress
), se você removê-la, o WordPress apenas "tentará" e a colocará novamente mais tarde. (Você deve evitar edições manuais no bloco de código WP por esse motivo.)Ter esta diretiva
.htaccess
não causará nenhum problema.Quando o PHP é instalado como CGI, o Apache impede que o
Authorization
cabeçalho de solicitação HTTP (usado com autenticação HTTP) seja passado para scripts CGI (ou seja, PHP nesta instância). Este é um "recurso de segurança", para evitar que as credenciais do usuário sejam passadas para todos os scripts CGI (que podem não ser confiáveis, se você não controlar o servidor).O PHP normalmente define o
$_SERVER['HTTP_AUTHORIZATION']
superglobal (e os elementos de array associados) do cabeçalho HTTP Authorization, mas se ele foi removido pelo Apache, então não pode.A
RewriteRule
diretiva.htaccess
tenta "consertar" isso definindo umaHTTP_AUTHORIZATION
variável de ambiente para o valor doAuthorization
cabeçalho da solicitação HTTP (isso é antes da solicitação ser passada para o PHP). O PHP então atribui oHTTP_AUTHORIZATION
env var ao$_SERVER
array superglobal. Então, em teoria, está fazendo a mesma coisa. No entanto, dependendo da configuração do servidor, isso não funciona necessariamente.Alternativamente, para permitir explicitamente a "passagem de cabeçalhos de autorização HTTP para scripts como variáveis CGI" você pode definir
CGIPassAuth On
(Apache 2.4.13+).htaccess
e isso deve permitir que o PHP veja oAuthorization
cabeçalho. No entanto, dependendo da configuração do servidor, isso também pode não funcionar.Referência: