Я не могу понять, почему мои .htaccess
настройки заголовка не работают.
.htaccess
Содержание моего файла:
Header set Access-Control-Allow-Origin *
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Allow-Headers "*"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Но когда я удаляю Header
и добавляю их, index.php
все работает нормально.
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: *");
Что мне не хватает?
.htaccess
mod-rewrite
rewrite
cors
user1401592
источник
источник
a2enmod headers
Header set
в этом случае. Если код изменен и он ДЕЙСТВИТЕЛЬНО устанавливает заголовок, Apacheheader add
отправит двойные ** заголовки. Это, например, нарушит работу таких клиентов, как Restangular.Header add Access-Control-Allow-Credentials "true"
Для протокола: я столкнулся с той же проблемой, и ни один из ответов не помог.
Я использовал инструмент проверки заголовков: http://www.webconfs.com/http-header-check.php
Я тестировал свой IP (
http://192.0.2.1/upload
) и получил следующее:Произошло перенаправление, и запрос AJAX не соблюдает / не выполняет перенаправления.
Оказалось, что это отсутствующая косая черта в конце домена ( http://192.0.2.1/upload / )
Я снова протестировал с косой чертой в конце и получил это ниже. В скрипт тоже добавлен слэш, и теперь он работает.
Используйте этот инструмент, чтобы проверить правильность ваших заголовков и устранить неполадки в том, что происходит.
источник
У меня общий хостинг на GoDaddy. Мне тоже нужен был ответ на этот вопрос, и после поисков я обнаружил, что это возможно.
Я написал файл .htaccess и поместил его в ту же папку, что и моя страница действий. Вот содержимое файла .htaccess:
Вот мой вызов ajax:
См. Эту статью для справки:
Набор заголовков Access-Control-Allow-Origin в .htaccess не работает
источник
Будьте осторожны:
Совершенно неразумно предоставлять доступ всем. Желательно разрешить список только известных доверенных хостов ...
С Уважением,
источник
Я активировал заголовки модуля Apache a2enmod, и проблема была решена.
источник
sudo a2enmod headers
и перезагрузка заставила его работать!Попробуйте это в .htaccess внешней корневой папки
Будьте осторожны: Header add Access-Control-Allow-Origin "*" Совершенно неразумно предоставлять доступ всем. Я думаю, вам следует:
источник
Я добавил +1 к ответу Миро для ссылки на сайт проверки заголовков http://www.webconfs.com/http-header-check.php . Он выдает неприятную рекламу каждый раз, когда вы его используете, но, тем не менее, он очень полезен для проверки наличия заголовка Access-Control-Allow-Origin.
Я читаю файл .json из javascript на своей веб-странице. Я обнаружил, что добавление следующего в мой файл .htaccess устраняет проблему при просмотре моей веб-страницы в IE 11 (версия 11.447.14393.0):
Я также добавил следующее в /etc/httpd.conf (файл конфигурации Apache):
Сайт проверки заголовков подтвердил, что заголовок Access-Control-Allow-Origin теперь отправляется (спасибо, Миро!).
Однако Firefox 50.0.2, Opera 41.0.2353.69 и Edge 38.14393.0.0 все равно извлекают файл, даже без заголовка Access-Control-Allow-Origin. (Примечание: они могут проверять IP-адреса, поскольку два домена, которые я использовал, размещены на одном сервере с одним и тем же адресом IPv4.)
Однако Chrome 54.0.2840.99 m (64-разрядная версия) игнорирует заголовок Access-Control-Allow-Origin и в любом случае не работает, ошибочно сообщая:
Я думаю, это должно быть своего рода «первое». IE работает корректно; Chrome, Firefox, Opera и Edge содержат ошибки; а Хром хуже всего . Разве это не полная противоположность обычному случаю?
источник
Проведя полдня ни с чем. Используя службу проверки заголовков, хотя все работало. Брандмауэр на работе снимал их
источник
попробуй это:
Желательно разрешить список известных доверенных хостов.
источник
Если кто-то еще пытается это сделать, ответ должен сработать. Однако, если у вас возникли проблемы, возможно, браузер кэшировал ЗАПРОС. Для подтверждения добавьте строку запроса.
источник