Dacă nu utilizați autentificarea HTTP cu WordPress, atunci o puteți elimina.
Dacă utilizați PHP ca modul Apache, îl puteți elimina. (Poate că WP detectează acest lucru atunci când generează .htaccess
fişier?)
Deoparte: Cu toate acestea, deoarece această directivă se află în interiorul blocului de cod WordPress (adică între # ÎNCEPE WordPress
/ # Terminați WordPress
marcatori de comentarii), atunci dacă îl eliminați, WordPress va „încerca” și îl va pune din nou la loc mai târziu. (Din acest motiv, ar trebui să evitați editările manuale ale blocului de cod WP.)
Având această directivă în .htaccess
nu va cauza probleme.
Când PHP este instalat ca CGI, atunci Apache împiedică Autorizare
Antetul cererii HTTP (utilizat cu autentificarea HTTP) să fie transmis către scripturile CGI (de exemplu, PHP în acest caz). Aceasta este o „funcție de securitate”, pentru a preveni transmiterea acreditărilor utilizatorului către toate scripturile CGI (care ar putea să nu fie de încredere, dacă nu controlați serverul).
PHP setează în mod normal $_SERVER['HTTP_AUTHORIZATION']
superglobal (și elementele de matrice asociate) din antetul HTTP Authorization, dar dacă a fost eliminat de Apache, atunci nu poate.
The RewriteRule
directivă în .htaccess
încearcă să „remedieze” acest lucru setând un HTTP_AUTHORIZATION
variabilă de mediu la valoarea lui Autorizare
Antetul cererii HTTP (acest lucru înainte ca cererea să fie transmisă la PHP). PHP atribuie apoi HTTP_AUTHORIZATION
env var la $_SERVER
matrice superglobală. Deci, în teorie, face același lucru. Cu toate acestea, în funcție de configurația serverului, acest lucru nu funcționează neapărat.
Alternativ, pentru a permite în mod explicit „trecerea antetelor de autorizare HTTP către scripturi ca variabile CGI”, puteți seta CGIPassAuth activat
(Apache 2.4.13+) în .htaccess
iar acest lucru ar trebui să permită PHP să vadă Autorizare
antet. Cu toate acestea, în funcție de configurația serverului, nici aceasta ar putea să nu funcționeze.
Referinţă: