以下行的完整意義是什麼

以下行的完整意義是什麼

以下行的完整意義是什麼

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

在 ubuntu 14.4 上有三個應用程式都由 python 運行。它們如下連結所示

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

我還在該伺服器上安裝了 HTTPS。 https://82.211.213.130/

但我想用以下方式重寫以上三個站點

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

官方文檔提供了一些很棒的現實例子。

相關內容