
Quero definir algumas Location
tags na minha configuração do Apache. Por exemplo: /image
, e para passá- /file
lo /audio
para localhost:port/path
. No momento estou usando isso para /image
:
<Location /image>
RewriteEngine on
Options +MultiViews +FollowSymLinks
AllowOverride All
ProxyPreserveHost On
ProxyPass "http://localhost:PORT/image"
ProxyPassReverse "http://localhost:PORT/image"
</Location>
Preciso escrever esse trecho de código para cada parâmetro? Ou existe algum atalho para isso?
Obrigado!
Responder1
<Location /image> RewriteEngine on Options +MultiViews +FollowSymLinks AllowOverride All ProxyPreserveHost On ProxyPass "http://localhost:PORT/image" ProxyPassReverse "http://localhost:PORT/image" </Location>
Preciso escrever esse trecho de código para cada parâmetro?
Não. A RewriteEngine
diretiva não faz nada lá e nem a Options
nem as AllowOverride
diretivas fazem sentido quando você não mapeia recursos no sistema de arquivos local. Essas opções são controladas e precisam ser definidas pelo servidor web "remoto" para o qual você está encaminhando as solicitações com a ProxyPass
diretiva.
Como essas diretivas são inúteis, você também não precisa do colchete Location para defini-las e pode usar o in-lineProxyPass
sintaxe que é recomendada de qualquer maneira.
Isso reduz sua sintaxe apenas às linhas necessárias:
ProxyPreserveHost On
ProxyPass "/image" "http://localhost:PORT/image"
ProxyPassReverse "/image" "http://localhost:PORT/image"
ProxyPass "/file" "http://localhost:PORT/file"
ProxyPassReverse "/file" "http://localhost:PORT/file"
Apache httpd oferece oInclude
diretiva para manter um único trecho de configuração com configurações que você deseja incluir literalmente em diferentes locais, blocos VirtualHost, Location, Directory sem copiar as mesmas linhas repetidas vezes.