Я создаю скрипт, который загружается извне на других сайтах. Он загружает CSS и HTML и отлично работает на моих собственных серверах.
Тем не менее, когда я пробую его на другом сайте, он отображает эту ужасную ошибку:
Access-Control-Allow-Origin
Здесь вы можете видеть, что он отлично загружается: http://tzook.info/bot/
Но на этом другом сайте он показывает ошибку: http://cantloseweight.co/robot/
Я загрузил скрипт загрузки в jsfiddle: http://jsfiddle.net/TL5LK/
Я попытался отредактировать файл htaccess так:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin *
</IfModule>
Или вот так:
Header set Access-Control-Allow-Origin *
Но все равно не работает.
.htaccess
cors
cross-domain
Цук Бар Ной
источник
источник
FilesMatch
.*
?js
кjson
.*
любому домену происхождения доступ к этому ресурсу. Это не список ресурсов, а список ссылающихся доменов.headers
модуль:a2enmod headers
никто не говорит, что у вас также должны быть mod_headers включить , поэтому, если он все еще не работает, попробуйте это:
(следующие советы работают на Ubuntu, не знаю о других дистрибутивах)
Вы можете проверить список загруженных модулей с
чтобы включить mod_headers вы можете использовать
конечно после любых изменений в Apache вы должны перезапустить его:
Тогда вы можете использовать
И если mod_headers не активен, эта строка вообще ничего не будет делать. Вы можете попробовать пропустить предложение if и просто добавить его
Header set Access-Control-Allow-Origin "*"
в свою конфигурацию, тогда он должен выдать ошибку во время запуска, если mod_headers не активен.источник
из моего опыта;
если это не работает изнутри,
php
сделайте это в.htaccess
это работало на меняисточник
Добавьте
.htaccess
файл со следующими директивами в папку со шрифтами, если есть проблемы с доступом к шрифтам. Может быть легко изменен для использования с файлами .css или .js .источник
<FilesMatch>
указание не является необходимым, если , как уже говорилось выше, ваш.htaccess
файл находится в папке шрифтов и ваш каталог шрифтов только содержит.eot
,.ttf
,.otf
и / или.woff
файлы.Другие ответы не сработали для меня, вот что в итоге помогло apache2:
1) Включите мод заголовков:
sudo a2enmod headers
2) Создайте
/etc/apache2/mods-enabled/headers.conf
файл и вставьте:3) Перезагрузите сервер:
sudo service apache2 restart
источник
В Zend Framework 2.0 у меня была эта проблема. Может быть решено двумя способами .htaccess или заголовком php, я предпочитаю .htaccess, поэтому я изменил .htaccess из:
в
и он начинает работать
источник
Кстати: конфигурация .htaccess должна выполняться на сервере, на котором размещен API. Например, вы создаете приложение AngularJS в домене x.com и создаете Rest API на y.com, вы должны установить Access-Control-Allow-Origin «*» в файле .htaccess в корневой папке y.com, а не в x .com :)
Также, как упомянул Лукас, убедитесь, что вы включили mod_headers, если вы используете Apache
источник
Убедитесь, что у вас не происходит перенаправление. Это может произойти, если вы не включите в URL завершающую косую черту.
Посмотрите этот ответ для более подробной информации - https://stackoverflow.com/a/27872891/614524
источник
Если ваш хост не на pvn или не выделен, перезапустить сервер будет сложно.
Лучшее решение от меня, просто отредактируйте свой файл CSS (в другом домене или в вашем поддомене), который вызывает шрифт eot, woff и т. Д. Для вашего происхождения (ваш домен или www yourdomain). это решит вашу проблему.
Я имею в виду, отредактируйте относительный URL-адрес в css до домена источника абсолютного URL-адреса
источник