Если вы не используете HTTP-аутентификацию с WordPress, вы можете удалить ее.
Если вы используете PHP в качестве модуля Apache, вы можете удалить его. (Возможно, WP обнаруживает это, когда генерирует .htaccess
файл?)
В стороне: Однако, поскольку эта директива находится внутри блока кода WordPress (т.е. между # НАЧАТЬ WordPress
/ # ЗАВЕРШИТЬ WordPress
маркеры комментариев), то, если вы удалите его, WordPress только «попробует» и вернет его позже. (По этой причине вам следует избегать ручного редактирования блока кода WP.)
Наличие этой директивы в .htaccess
никаких проблем не вызовет.
Когда PHP установлен как CGI, Apache предотвращает Авторизация
Заголовок HTTP-запроса (используемый с HTTP-аутентификацией) от передачи в сценарии CGI (т.е. PHP в данном случае). Это «функция безопасности», предотвращающая передачу учетных данных пользователя всем сценариям CGI (которым можно не доверять, если вы не контролируете сервер).
PHP обычно устанавливает $_SERVER['HTTP_AUTHORIZATION']
superglobal (и связанные с ним элементы массива) из заголовка авторизации HTTP, но если он был удален Apache, то это невозможно.
Правило перезаписи
директива в .htaccess
пытается "исправить" это, установив HTTP_AUTHORIZATION
переменная окружения на значение Авторизация
Заголовок HTTP-запроса (это до того, как запрос будет передан PHP). Затем PHP присваивает HTTP_AUTHORIZATION
env var в $_СЕРВЕР
суперглобальный массив. Итак, в теории это делает то же самое. Однако, в зависимости от конфигурации сервера, это не обязательно работает.
В качестве альтернативы, чтобы явно разрешить «передачу заголовков авторизации HTTP в сценарии как переменные CGI», вы можете установить CGIPassAuth включен
(Апач 2.4.13+) в .htaccess
и это должно позволить PHP увидеть Авторизация
заголовок. Однако, в зависимости от конфигурации сервера, это также может не сработать.
Справка: