下面这句话的完整含义是什么

下面这句话的完整含义是什么

下面这句话的完整含义是什么

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

官方文档提供了一些很好的现实世界例子。

相关内容