
我想建立一個http網站:http://example1.com,以及一個 https 網站:https://example2.com使用以下配置:
Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
ServerName example1.com
DocumentRoot /var/www/example1.com/public_html
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
DocumentRoot /var/www/example2.com/public_html
SSLCertificateFile...
SSLCertificateKeyFile...
SSLEngine On
</VirtualHost>
但是,如果我訪問https://example1.com,我被重定向到https://example2.com。如果我訪問http://example2.com,我被重定向到http://example1.com。這不是我想要的。我想https://example1.com和http://example2.com根本不存在。我該怎麼做?
答案1
你將要必須定義另外兩個 VirtualHost 區塊。如果 Apache 找不到與該名稱相符的 VirtualHost,它將使用屬於該連接埠的第一個 VirtualHost。
當然,您不必提供同一個網站:
- 您可以提供錯誤頁面,例如通用的404 未找到。這會惹惱人們。
- 對於
example2.com
,您可以使用 RewriteRule 將所有 HTTP 訪客重新導向到 HTTPS。 - 對於
example1.com
......好吧,我真的不明白為什麼你不透過 HTTPS 提供服務?
但是,您不能讓瀏覽器報告該網域不存在,因為無論如何存取它仍然是同一個網域。