Ssl
將一個域上的所有請求重定向到 https 非 www
我有一個在一個域上執行的 ISPConfig 3 站點。對於通過 Apache 執行的不同應用程序,我有多個 vhost 文件。我想對通過 Apache 使用該域的每個請求啟用https://example.com/%QUERY_STRING% 。現在,我必須粘貼
RewriteEngine on RewriteCond %{HTTPS} ^off$ RewriteRule . https://example.com%{REQUEST_URI} [R,L] RewriteEngine on RewriteCond %{HTTPS} ^on$ RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule . https://example.com%{REQUEST_URI} [R,L]
在我的每一個虛擬主機中。如果我必須這樣做一次,那將不是問題,但我會不斷擦除我的伺服器並從頭開始重建它(我有充分的理由)。我不喜歡瀏覽所有虛擬主機並將其粘貼到每個虛擬主機中,我知道必須有一種更技術性的方法來做到這一點。我試著把它放進我的
apache2.conf
,但這不起作用。<Location>
此外,除非我們處於或<Directory>
或類似的狀態,否則我無法打開 SSLEngine 。我該怎麼做呢?
只需放入您的
apache2.conf
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule (.*) https://example.com$1 [R,L] RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\.example\.com RewriteRule (.*) https://example.com$1 [R,L]