Установить Apache заголовки условно

Я работаю с сервером Apache, и я хотел бы добавить заголовки условно.

Если URI соответствует определенному регулярному выражению, я хотел бы добавить заголовок Access-Control-Allow-Origin: *, Какой хороший способ сделать это?

Что я пробовал до сих пор:

  1. Я добавил код, вызываемый обработчиком запроса, используя apr_table_add(rq->headers_out, "Access-Control-Allow-Origin", "*"), Но похоже, что Apache удаляет заголовок перед отправкой ответа всякий раз, когда заголовок Content-Type: application/x-javascript также установлен. Это неправильный способ сделать это? Почему Apache лишил заголовок?

  2. Я слышал, предложенные 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 запроса

Другие вопросы по тегам