Установить Apache заголовки условно
Я работаю с сервером Apache, и я хотел бы добавить заголовки условно.
Если URI соответствует определенному регулярному выражению, я хотел бы добавить заголовок Access-Control-Allow-Origin: *
, Какой хороший способ сделать это?
Что я пробовал до сих пор:
Я добавил код, вызываемый обработчиком запроса, используя
apr_table_add(rq->headers_out, "Access-Control-Allow-Origin", "*")
, Но похоже, что Apache удаляет заголовок перед отправкой ответа всякий раз, когда заголовокContent-Type: application/x-javascript
также установлен. Это неправильный способ сделать это? Почему Apache лишил заголовок?Я слышал, предложенные mod_headers. Имеет ли mod_headers возможность размещать заголовки на основе соответствия регулярному выражению с URI запроса?
2 ответа
SetEnvIf Request_URI somepartofurl SIGN
Header always add "Access-Control-Allow-Origin" "*" env=SIGN
но это работает, только если находится в конфигурации. Размещение его в.htaccess не поможет.
Это также должно работать (требуется mod_rewrite):
RewriteRule ^/en/foo.*$ - [ENV=SET_ACAO:true]
Header set "Access-Control-Allow-Origin" "*" env=SET_ACAO
где ^/en/foo.*$
регулярное выражение, которое сопоставляется с URL запроса