
Location
Ich möchte in meiner Apache-Konfiguration ein paar Tags setzen . Zum Beispiel: /image
, /file
, /audio
und 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 RewriteEngine
Direktive bewirkt dort nichts und weder die Options
noch die AllowOverride
Direktiven 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 ProxyPass
Direktive weiterleiten.
Da diese Anweisungen nutzlos sind, brauchen Sie die Location-Klammer nicht, um sie zu setzen, und können die Inline-Anweisung verwenden.ProxyPass
Syntax, 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 dieInclude
Direktive 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.