Posso usar variáveis do Apache com o 'Redirect' do mod_alias, em vez de usar o mod_rewrite?

3

O mod_alias do servidor HTTP do Apache fornece a diretiva Redirect , que é excelente para redirecionamentos simples, como o seguinte:

# Redirect login to https
Redirect permanent /login https://www.example.org/login

Embora muitos administradores usem mod_rewrite para redirecionamentos, a documentação do Apache em Quando não usar mod_rewrite , sugira que, em geral, mod_alias é preferível a mod_rewrite . Eu gostaria de usar mod_alias mais.

Posso usar Redirect com Variáveis do Apache como ServerName ? Por exemplo, para impor que determinado conteúdo esteja disponível apenas em HTTPS, eu gostaria de fazer algo assim:

Redirect permanent /login https://%{SERVER_NAME}/login
Redirect permanent /special-project-1 https://%{SERVER_NAME}/special-project-1
Redirect permanent /special-project-2 https://%{SERVER_NAME}/special-project-2

Nenhum desses trabalhos e a string literal %{SERVER_NAME} é impressa na resposta:

host% curl http://www.example.org/login
...
302 Found
The document has moved <a href="https://%{SERVER_NAME}/login">here</a>.

As variáveis do Apache são permitidas com diretivas mod_alias ? As variáveis estão disponíveis usando uma sintaxe diferente?

    
por Stefan Lasiewski 03.03.2016 / 00:47

1 resposta

0

Eu acredito que uma pergunta semelhante seja respondida aqui: link

@shanemadden escreveu:

You cannot. Redirect is able to handle simple redirections, where you're sending the client to a single, specific name, but does not have the ability to do complex substitutions (setting aside the fact that %{HTTP_HOST} is mod_rewrite-specific).

Just stick with mod_rewrite. mod_alias isn't capable of doing what you need.

    
por 03.03.2016 / 06:53