次の行の完全な意味は何ですか

次の行の完全な意味は何ですか

次の行の完全な意味は何ですか

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

Ubuntu 14.4 で Python によって実行されるアプリケーションが 3 つあります。それらは以下のリンクで確認できます。

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

そのサーバーに HTTPS もインストールしました。 https://82.211.213.130/

しかし、私は上記の3つのサイトを以下のように書き直したい

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

/sickbeard または /headphones を表示したい場合、常に couchpotato ページが表示されます。

これを解決するのを手伝ってくれる人はいますか?

Apacheの設定は以下の通りです --

<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>

答え1

一度に質問が多すぎると思います。nginx特に複数の仮想ホストを扱う場合には、設定がはるかに簡単なので、 を使用することをお勧めします。

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

これは、ユーザーがアクセスした URL と一致する正規表現 (regex) ルールです。

このルールは、「ドメイン(www.example.tld/WHATEVER)の後の文字をすべて取得し、次のように書き換えます。http://127.0.0.1:5050/何でもいい

括弧は( )「キャプチャ」と呼ばれ、$1最初のキャプチャをそこに配置します。

次のルールを試すことができます:

RewriteRule ^/couchpotato http://127.0.0.1:5050

公式文書素晴らしい実例をいくつか紹介します。

関連情報