我有两个网站


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]

09-05 19:53