Was ist die vollständige Bedeutung der folgenden Zeile?

Was ist die vollständige Bedeutung der folgenden Zeile?

Was ist die vollständige Bedeutung der folgenden Zeile?

RewriteRule ^/(.*) http://127.0.0.1:5050/$1 [L,P] 

Es gibt drei Anwendungen, die beide mit Python auf Ubuntu 14.4 laufen. Sie sind unter dem folgenden Link sichtbar

IP:8181   (headphones)
IP:8081   (sickbeard)
IP:5050   (couchpotato)

Ich habe auf diesem Server auch HTTPS installiert. https://82.211.213.130/

Aber ich möchte die oben genannten drei Seiten wie folgt umschreiben

same IP/couchpotato     -- this is working only
same IP/sickbeard   -- Not working
same IP/headphones  -- not working

wenn ich /sickbeard oder /headphones ansehen möchte, kommt immer die Couchpotato-Seite.

kann mir jemand helfen, das zu lösen??

Die Apache-Konfiguration ist wie folgt --

<VirtualHost *:443>
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ssl.crt
SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
</VirtualHost>


<VirtualHost *:443>
   ServerName lost-world.dk
   SSLEngine on
   SSLCertificateFile /etc/apache2/ssl/ssl.crt
   SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
   SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
   RewriteEngine On
   RewriteRule ^/(.*) localhost:5050/$1 [L,P]
   ProxyPreserveHost on
#   RequestHeader add X-Vhm-Root /couchpotato
 </VirtualHost>

<VirtualHost *:443>
  ServerName lost-world.dk
  SSLEngine on
   SSLCertificateFile /etc/apache2/ssl/ssl.crt
   SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
   SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
   RewriteEngine On
   RewriteRule ^/(.*) localhost:8081/$1 [L,P]
   ProxyPreserveHost on
 #  RequestHeader add X-Vhm-Root /sickbeard
 </VirtualHost>

Antwort1

Ich glaube, Sie stellen zu viele Fragen auf einmal. Ich würde empfehlen, zu verwenden nginx, da die Konfiguration viel, viel einfacher ist, insbesondere beim Umgang mit mehreren virtuellen Hosts.

RewriteRule ^/(.*) http://127.0.0.1:5050/$1

Dies ist eine Regel für reguläre Ausdrücke (RegEx), die mit der vom Benutzer besuchten URL übereinstimmt.

Diese Regel besagt: „Nimm alle Zeichen nach der Domäne (www.example.tld/WAS AUCH IMMER) und schreibe sie um alshttp://127.0.0.1:5050/WAS AUCH IMMER.

Die Klammern ( )werden als „Capture“ bezeichnet und platzieren $1dort das erste Capture.

Sie könnten es mit der folgenden Regel versuchen:

RewriteRule ^/couchpotato http://127.0.0.1:5050

Deramtliche Dokumentationbietet einige großartige Beispiele aus der Praxis.

verwandte Informationen