我正在尝试配置我的 apache 服务器,以便我的子域名具有与主域名相同的行为
对于我的主域名,当我输入 IP 地址时,它会转到 example.com 并显示正确的页面,但对于我的子域名(例如:subdomain.example.com),它不会,因为在这种情况下我得到了一个不同的端口(例如:9000 指向 docker 容器)
但是当我输入 ip:9000 时,它会显示正确的页面,当我输入子域名时也会显示相同的内容。
我怎样才能告诉服务器显示子域名而不是 ip:port
这是我的主要域配置:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Redirect / https://example.com
</VirtualHost>
这是我的子域名配置:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias subdomain.example.com
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://111.111.111.111:9000/
ProxyPassReverse / http://111.111.111.111:9000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
Redirect / http://subdomain.example.com
RewriteCond %{SERVER_NAME} =subdomain.example.com
RewriteRule ^ http://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>