CORS не включается с локальным хостом MAMP - PullRequest
0 голосов
/ 29 октября 2018

Я создал RESTful Api в PHP на локальной машине, и все работает отлично. Предварительные запросы отправляют правильные ответы и т. Д., Все, что обрабатывается PHP, работает как сон.

Но если я пытаюсь получить доступ к изображению в общедоступной папке (программно через javascript в данном случае), я получаю ярость:

Access to XMLHttpRequest at 'http://localhost/tmp/avatars/user.jpg' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я установил следующее в файле .htaccess в общем корневом каталоге и в директивах MAMP Apache <Directory> и <VirtualHost>, но он просто отказывается работать.

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "*"

CORS - это боль в заднице в лучшие времена, но это просто смешно. Почему это не работает?

Есть идеи?

1 Ответ

0 голосов
/ 13 марта 2019

Измените файл httpd.conf из папки apache в MAMP и добавьте следующий код в тег Directory (line204-208).

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride All
    Header set Access-Control-Allow-Origin "*"  
</Directory>

Вы можете открыть с помощью nano и изменить его.

#nano /Applications/MAMP/conf/apache/httpd.conf

Затем перезапустите сервер MAMP и он должен работать правильно.

Я решил ту же проблему.

Также вы можете решить ее, используя расширение Google Chrome под названием «Разрешить CORS: Access-Control-Allow-Origin».

Но учтите, что это будет работать только с вашим браузером Chrome. Наиболее эффективное решение - это первое, изменяющее файл конфигурации на сервере.

Удачи

...