【发布时间】:2020-05-31 08:54:50
【问题描述】:
我确定这个问题肯定已经被问过很多次了,我研究了一天,但仍然无法弄清楚。
我有一个域 - domain.com,现在我想为其添加一个子域 - test.domain.com。我创建了一个虚拟主机文件和 DNS A 记录 - test.domain.com 指向我的服务器 IP。但是每当我尝试访问我的 test.domain.com 时,它都会一直重定向到 domain.com。我的 Apache2 虚拟主机文件配置如下
domain.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domain.com [OR]
RewriteCond %{SERVER_NAME} =domain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<Directory "/var/www/domain.com">
AllowOverride All
</Directory>
domain.com-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName domain.com
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.domain.com
SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
</VirtualHost>
</IfModule>
test.domain.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.domain.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.test.domain.com [OR]
RewriteCond %{SERVER_NAME} =test.domain.com
RewriteRule ^ http://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<Directory "/var/www/test.domain.com">
AllowOverride All
</Directory>
我已经使用命令 a2ensite 启用了 conf 文件,并多次重新启动了 apache(以及我的服务器 droplet),但仍然无法正常工作。我在 Ubuntu 16.04.6 上运行。
任何建议将不胜感激。非常感谢您!
【问题讨论】:
标签: apache redirect dns subdomain virtualhost