каков полный смысл следующей строки
RewriteRule ^/(.*) http://127.0.0.1:5050/$1 [L,P]
Есть три приложения, оба работают на Python в Ubuntu 14.4. Они видны по ссылке ниже.
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
Это правило регулярного выражения (regex), которое сопоставляется с URL-адресом, который посетил пользователь.
Это правило гласит: «Возьмите все символы после домена (www.example.tld/WHATEVER) и перепишите их какhttp://127.0.0.1:5050/ЧТО БЫ ТО НИ БЫЛО.
Скобки ( )
называются «захватом», и $1
в них помещается первый захват.
Вы можете попробовать следующее правило:
RewriteRule ^/couchpotato http://127.0.0.1:5050
Theофициальная документацияприводит несколько замечательных примеров из реальной жизни.