ApacheTag für einige Optionen

ApacheTag für einige Optionen

LocationIch möchte in meiner Apache-Konfiguration ein paar Tags setzen . Zum Beispiel: /image, /file, /audiound um es an weiterzugeben localhost:port/path. Im Moment verwende ich dies für /image:

 <Location /image>
        RewriteEngine  on
        Options +MultiViews +FollowSymLinks
        AllowOverride All
        ProxyPreserveHost On
        ProxyPass "http://localhost:PORT/image"
        ProxyPassReverse "http://localhost:PORT/image"
    </Location>

Muss ich diesen Code für jeden Parameter schreiben? Oder gibt es dafür eine Abkürzung?

Danke!

Antwort1

<Location /image>
   RewriteEngine  on
   Options +MultiViews +FollowSymLinks
   AllowOverride All
   ProxyPreserveHost On
   ProxyPass "http://localhost:PORT/image"
   ProxyPassReverse "http://localhost:PORT/image"
</Location>

Muss ich diesen Code für jeden Parameter schreiben?

Nein. Die RewriteEngineDirektive bewirkt dort nichts und weder die Optionsnoch die AllowOverrideDirektiven machen Sinn, wenn Sie nicht auf Ressourcen im lokalen Dateisystem abbilden. Diese Optionen werden kontrolliert und müssen von dem „entfernten“ Webserver festgelegt werden, an den Sie die Anfragen mit der ProxyPassDirektive weiterleiten.

Da diese Anweisungen nutzlos sind, brauchen Sie die Location-Klammer nicht, um sie zu setzen, und können die Inline-Anweisung verwenden.ProxyPassSyntax, die ohnehin empfohlen wird.

Dadurch wird Ihre Syntax auf die erforderlichen Zeilen reduziert:

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 bietet dieIncludeDirektive zum Verwalten eines einzelnen Konfigurationsausschnitts mit Einstellungen, die Sie wortwörtlich an verschiedenen Stellen, VirtualHost-, Location- und Directory-Blöcken einfügen möchten, ohne dieselben Zeilen immer wieder zu kopieren.

verwandte Informationen