我已经设置了一个 Apache,它可以在端口 80 和 8080 上为我的网站提供服务。但现在我想将 8080 上的 VirtualHost 移动到子域中的端口 80。
这是我的站点可用的配置文件:
<VirtualHost *:80>
ServerName www.mysite.me
ServerAlias mysite.me
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteRule (.events\/+)(.*)$ http://www.mysite.me/evento.php?eventid=$2
RewriteCond %{HTTP_HOST} ^mysite\.me
RewriteRule ^(.*)$ http://www.mysite.me$1 [R=permanent,L]
</VirtualHost>
该虚拟主机不起作用:
<VirtualHost *:80>
ServerName phpmyadmin.mysite.me
DocumentRoot /var/www/html/phpMyAdmin
</VirtualHost>
如果我像这样为后者服务:
Listen 8080
<VirtualHost *:8080>
ServerName www.mysite.me
DocumentRoot /var/www/html/phpMyAdmin
</VirtualHost>
它会起作用的。
但我想使用子域名(在本例中为 phpmyadmin.mysite.me)。
我错过了什么?
答案1
正如评论中指出的那样,在 Apache 的虚拟主机配置中,仅配置 sudomain 是设置的一部分。另一部分是,您还需要为该域正确配置 DNS。
您需要为子域名添加指向 Web 服务器的 A 记录或 CNAME 记录,以便nslookup your.sudomain.com
将返回您的网络服务器 IP 地址。
DNS 服务器配置取决于您使用的托管服务提供商或软件。在大多数情况下,如果您没有维护自己的 DNS 服务器,您可以登录托管服务提供商控制面板,并应该能够轻松添加它。