問題描述
htaccess 強制 https 和 www 到非 www,但子域僅 https (htaccess force https & www to non‑www, but subdomain only https)
我有兩個網站
- yourdomain.com
- reseller.yourdomain.com
現在我想強制兩個域通過 apache htaccess 重定向使用 https。除此之外,主域應始終使用 www 而不是非 www。但是子域 reseller.yourdomain.com 當然不應該使用 www。
重定向應該是什麼樣子?我已經嘗試了很多類似
RewriteEngine on
RewriteCond %{HTTPS} !^on
RewriteCond %{HTTP_HOST} !^reseller\.yourdomain\.com [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
這不是100%,主域正確重定向到www和ssl,subomdain的ssl重定向僅適用於reseller.yourdomain.com,不適用於sub ‑ 像 reseller.yourdomain.com/single‑page 這樣的網站。
謝謝!
參考解法
方法 1:
Try it like this,
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^yourdomain.com
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(.+)\.yourdomain.com$
RewriteRule ^ https://%1.yourdomain.com [R=301,L]
(by user6573193、Abhishek Gurjar)