Aqui estão minhas ideias para isso:
O principal problema, por que minhas declarações de cabeçalho não são executadas dentro da Diretiva Location, está no mod_rewrite.
Quando uma solicitação com uma URL virtual como /anotherURL
, para a qual não existe nenhuma entidade física, entrar, o mod_rewrite começa imediatamente a aplicar suas regras. Aqui ele mapeia para /index.php
e envia as informações /anotherURL
para os parâmetros GET, que são usados posteriormente para identificar a página do Typo3.
Isso explica por que as declarações de cabeçalho não são executadas, o local da solicitação foi alterado.
Agora, para a solução, que funciona para mim. Como não posso confiar na URL, tenho que encontrar outra informação. Para mim, o Referer me serve bem:
SetEnvIf Referer ^https:\/\/www.(location1|location2).de\/test\.html$ IFRAME_ENV
Header always set X-Frame-Options "sameorigin" env=!IFRAME_ENV
Vai fazer o truque.
Agora, para cada solicitação, o referenciador é verificado. Por padrão, o cabeçalho X-Frame-Otions é adicionado, exceto quando o referenciador é configurado para as duas URLs, a partir das quais eu quero permitir a incorporação do iFrame.
Se alguém souber como aplicar diretivas de localização antes de o mod_rewrite entrar em ação, estou muito aberto a essa solução :) Até quando isso parecer funcionar para mim.
Obrigado a todos pelo apoio.