CORS заблокирован в некоторых каталогах, но не в других - PullRequest
3 голосов
/ 25 февраля 2020

Неделю go, я столкнулся с ошибкой CORS:

Access to XMLHttpRequest at [domainA/example/directory/file.xml] from origin [domainB] has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я решил эту проблему, отредактировав .htaccess, добавив:

<IfModule mod_headers.c>
    <FilesMatch ".+">
        Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>

Это сработало! Тем не менее, теперь я сталкиваюсь с той же проблемой при запросе данных в том же домене, по другому пути (то есть "domainA / different / example / directory / file. json").

Разве я не должен быть в состоянии запросить любой файл, в любом каталоге, на основе изменений, которые я сделал в .htaccess? (находится по адресу "/.../.../www/[domainA-root]/.htaccess")

Стоит отметить, что в моем первом примере, [domainA / example / directory / file.xml ] - это представление XML, созданное Drupal, и не является файлом c в реальном каталоге.

Ответы [ 2 ]

0 голосов
/ 07 марта 2020

вместо того, чтобы пытаться. + В filematch, вы должны попробовать:

<FilesMatch "\.(htm|html|css|js|php|json)$">
AddDefaultCharset UTF-8
DefaultLanguage en-US
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "*"
</FilesMatch>
0 голосов
/ 06 марта 2020

Это похоже на типичный случай, когда ваш браузер кэширует ответ на предыдущий запрос OPTIONS для указания c URL-адресов, запрошенных ранее, заголовка ранее не было, и браузер не потрудится проверять снова, пока TTL срок действия истекает.

Я бы сказал: проверьте, что заголовки там делают подробный запрос завитка из вашей командной строки, т.е.

curl -v https://yourhost/yourURL

Тогда вы можете взять его оттуда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...