Mod-Rewrite
Apache http 到 https 沒有任何地址?
正常的 http 到 https 重寫可能如下所示:
RewriteEngine On # RewriteCond %{HTTP_HOST} !^example.com$ # RewriteRule /.* https://example.com/ [R]
但是此程式碼將站點指定為**“example.com”**
無論如何要進行“全域”重寫,因此無論是否有人打開example.com、broken.example.com 甚至example.Lom(只要 DNS 指向伺服器),它都會簡單地放一個 https在上面?
適用於擁有多個域名的伺服器。
能夠在任何地方使用相同的程式碼會很棒..
您可以在任何虛擬主機中使用以下程式碼將 http 重定向到 https:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
您可以通過在預設虛擬主機(在 debian 上)中設置程式碼來全域
/etc/apache2/sites-available/000-default.conf
設置它,以將任何域上的任何 http 請求重定向到其 https 版本:<VirtualHost *:80> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} ... </VirtualHost>