Доступ к php файлу через AJAX возвращает 403 Запрещено - PullRequest
0 голосов
/ 24 января 2020

Создан плагин, который должен получить доступ к этому файлу через AJAX:

https://example.com/wp-content/plugins/stemon-mailchimp-form/assets/sm_mailchimp.php

Однако он возвращает 403 Запрещено.

Попытка добавить это к .htaccess, но пока безуспешно.

<Files ~ "\wp-content\plugins\stemon-mailchimp-form\.php$">
  Order allow,deny
  Allow from all
</Files>

Есть предложения?

1 Ответ

1 голос
/ 26 января 2020

Создание файла .htaccess в подкаталоге плагина с указанием директив c от mod_auth ... до allow доступ к этому файлу должен переопределять любые директивы блокировки в родительском файле .htaccess далее дерево каталогов.

Например:

<Files "sm_mailchimp.php">
Order allow,deny
Allow from all
</Files>

Обратите внимание, что директивы Order и Allow являются директивами Apache 2.2 (они все еще работают на Apache 2.4, но Устаревшие ). Если вы используете Apache 2.4, то вместо двух вышеуказанных директив действительно следует использовать Require all granted.

Контейнер <Files> соответствует только имени файла. Здесь не нужно указывать путь к файлу. Также обратите внимание, что это не совпадение с регулярным выражением (хотя некоторые символы подстановки разрешены). Именно ~ в <Files ~ "filename"> делает его регулярным выражением.

Обратите внимание, что если это работает, то переопределяет директиву блокировки в другом месте (вероятно, в .htaccess файл в родительском каталоге). Возможно, можно переопределить это в том же месте, не создавая другой файл .htaccess.

...