Diretório de redirecionamento do Apache para subdomínio

1

Estou tentando resolver alguns problemas de Cross Origin no IE11 e no iOS, mascarando um subdomínio como um diretório

i.e.

Eu quero que example.com/cdn/ carregue cdn.example.com/

Eu meio que trabalhei com

RedirectMatch 301 ^/cdn/(.*)$ http://cdn.example.com/$1

Mas no navegador, o redirecionamento acontece e ainda mostra http://cdn.example.com em vez de deixá-lo como example.com/cdn/

Qualquer maneira de conseguir isso!?

    
por beek 13.09.2016 / 10:06

2 respostas

2

Você pode usar mod_proxy para fazer proxy das solicitações do diretório para o domínio real:

ProxyRequests         Off
ProxyPreserveHost     On

ProxyPass             /cdn           http://cdn.example.com
ProxyPassReverse      /cdn           http://cdn.example.com

Isso tem que ser colocado na configuração real do apache, ele não funciona em um arquivo .htaccess.

Observe que, ao fazer proxy de solicitações como essa, você está inutilizando as vantagens de uma CDN . A solução de cabeçalho em minha outra resposta é preferível em relação a isso.

    
por 13.09.2016 / 10:25
2

Você pode adicionar o cabeçalho Access-Control-Allow-Origin às respostas fornecidas pelo seu servidor.

Você pode fazer isso em seus scripts (PHP ou qualquer outro que você execute no servidor) ou você pode fazer isso no arquivo .htaccess usando mod_headers :

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "http://cdn.example.com"
</IfModule>
    
por 13.09.2016 / 10:28