我有一台 Linode 服务器,上面运行着 30 多个网站!今天我想添加另一个网站,于是在 Apache2 文件夹中创建了一个新.conf
文件。sites-available
启用它并重新启动我的 Apache 后,它似乎根本不起作用。当转到新配置的域时,它会加载我之前启用的网站之一而不是新的网站。
我通常会复制一个旧.conf
文件来创建一个新文件。但以下是我的.conf
文件:
# domain: bilitsaz.ir
# public: /var/www/bilitsaz.ir/public_html/
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin [email protected]
ServerName www.bilitsaz.ir
ServerAlias bilitsaz.ir
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/bilitsaz.ir/public_html
# Log file locations
LogLevel warn
ErrorLog /var/www/bilitsaz.ir/logs/error.log
CustomLog /var/www/bilitsaz.ir/logs/access.log combined
</VirtualHost>
我检查了 documentRoot,一切似乎都正确。不知道你们能不能帮我,谢谢。
更新:
apachectl -t
响应为:syntax OK
该网站的日志为apachectl -S
:port 80 namevhost www.bilitsaz.ir (/etc/apache2/sites-enabled/bilitsaz.ir.conf:4) alias bilitsaz.ir
更新2:
好的,我使用 Let's Encrypt 为网站启用了 HTTPS,并且加载正常,但出于某些原因,我需要网站使用纯 HTTP,我想知道为什么服务器不再加载任何新的 HTTP 虚拟主机
答案1
您的配置看起来不错。也许您遇到了其他问题,例如 .htaccess 重定向,或者您尝试使用 https 访问您的域,但配置不正确。
进入新域时还要查看access.log。
tail -f /var/www/bilitsaz.ir/logs/access.log
编辑1:如果您强制域名转到 https 并且没有为其安装证书,它将始终将您重定向到具有证书的同一 IP 上的其他域名。
编辑2:查看您的 htaccess 文件以了解 https 重定向或您的网站/CMS 配置。
编辑3:我没有使用 let's encrypt,但从我在谷歌上搜索到的信息来看:它可以强制任何域名使用 HTTPS:
安装依赖项后,您将看到一个分步指南,用于自定义证书选项。您将被要求提供一个电子邮件地址,用于丢失密钥恢复和通知,并且您将能够选择启用 http 和 https 访问或强制所有请求重定向到 https。
也许它已经改变了主要的 apache.conf。我认为你应该去 Let's Encript 社区支持。如果我无法帮助你,我很抱歉。