我有两个网站
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-redirect仅在reseller.yourdomain.com上有效,而在reseller.yourdomain.com/single-page之类的子站点上则无效。
谢谢!
最佳答案
这样尝试
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]