¿Cuál es el significado completo de la siguiente línea?
RewriteRule ^/(.*) http://127.0.0.1:5050/$1 [L,P]
Hay tres aplicaciones que se ejecutan en Python en Ubuntu 14.4. Son visibles en el siguiente enlace.
IP:8181 (headphones)
IP:8081 (sickbeard)
IP:5050 (couchpotato)
También instalé HTTPS en ese servidor. https://82.211.213.130/
Pero quiero reescribir los tres sitios anteriores de la siguiente manera
same IP/couchpotato -- this is working only
same IP/sickbeard -- Not working
same IP/headphones -- not working
Cuando quiero ver /sickbeard o /headphones, siempre aparece la página de sofá.
¿Alguien puede ayudarme a resolver esto?
La configuración de Apache es la siguiente:
<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>
Respuesta1
Creo que estás haciendo demasiadas preguntas a la vez. Recomiendo usar nginx
, ya que es mucho, mucho más fácil de configurar, especialmente cuando se trata de múltiples hosts virtuales.
RewriteRule ^/(.*) http://127.0.0.1:5050/$1
Esta es una regla de expresión regular (regex) que coincide con la URL que ha visitado el usuario.
Esta regla dice 'Tome todos los caracteres después del dominio (www.example.tld/LO QUE SEA) y vuelva a escribirlo comohttp://127.0.0.1:5050/LO QUE SEA.
El paréntesis ( )
se llama "captura" y $1
coloca la primera captura allí.
Podrías probar la siguiente regla:
RewriteRule ^/couchpotato http://127.0.0.1:5050
Eldocumentación oficialproporciona algunos excelentes ejemplos del mundo real.