В некоторых ситуациях требуется отправить дополнительные заголовки ответа сервера. Например, в php это можно сделать так..
<?php header('Access-Control-Allow-Origin: https://it-rem.ru');
Но, как быть, если это не какой-то скрипт, а статический файл? Конечно можно написать правило mod_rewrite и завернуть все на скрипт, например так
RewriteEngine On RewriteRule ^lang.properties$ add-header.php?file=$0 [L]
а затем в файле, add-header.php
<?php if (isset($_GET['file']) && file_exists($_GET['file'])) { header('Access-Control-Allow-Origin: https://it-rem.ru'); readfile($_GET['file']); }
Но есть и другое решение, которое мне нравится больше, это модуль для apache, который называется mod_headers
Устанавливается он так
# Активируем модуль sudo a2enmod headers # Перезапускаем Apache sudo systemctl restart apache2
Теперь можно в папке с файлом создать .htaccess с такой записью:
<IfModule mod_headers.c> <Files "lang.properties"> Header add Access-Control-Allow-Origin "https://it-rem.ru" </Files> </IfModule>
ну или тоже самое, но по маске файла описанной в регулярном выражении
<IfModule mod_headers.c> <Files ~ "\.properties$"> Header add Access-Control-Allow-Origin "https://it-rem.ru" </Files> </IfModule>
или так
<IfModule mod_headers.c> <FilesMatch "\.properties$"> Header add Access-Control-Allow-Origin "https://it-rem.ru" </FilesMatch> </IfModule>
Про разницу между Files и FilesMatch можно прочитать в официальной документации тут: Files, FilesMatch
В результате, например, в Developers Tools (Инструментах разработчика), в браузере, мы может увидеть дополнительный заголовок
Дополнительный заголовок Access-Control-Allow-Origin
Как видите использовать mod_headers намного проще и удобнее, чем писать mod_rewrite и перенаправлять на скрипт.