Apache 将整个网站重定向到https-除子域以外的非www到www

Apache 将整个网站重定向到https-除子域以外的非www到www,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我需要设置.htaccess以对我的网站执行以下重定向。(我花了相当长的时间进行研究,发现了许多与htaccess重定向相关的问题,但不是这个具体问题。) 但是,不应将任何子域重定向到www或https i、 e.support.example.com 不应重定向到https://support.example.com或www.support.example.com 我当前在.htaccess中有以下重定向代码 RewriteEngine On RewriteCond %{HTTP_HOST}

我需要设置.htaccess以对我的网站执行以下重定向。(我花了相当长的时间进行研究,发现了许多与htaccess重定向相关的问题,但不是这个具体问题。)

但是,不应将任何子域重定向到www或https i、 e.
support.example.com

不应重定向到
https://support.example.com
www.support.example.com

我当前在.htaccess中有以下重定向代码

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{HTTPS} !=on 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
这将正确地重定向

 1. www.example.com
 2. http://www.example.com

to https://www.example.com
并且还防止子域重定向

然而

 3. example.com
 4. http://example.com
 5. https://example.com
被重定向到

 https://example.com

另外,我把这些链接放在代码块中,因为我没有足够的声誉来发布超过2个链接

试试看,看看它对你有什么作用,然后告诉我

RewriteCond %{HTTP_HOST} ^(example\.com) [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]

RewriteCond %{HTTPS} !^on$
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]
#开始WordPress
重新启动发动机
重写基//
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则//index.php[L]
重定向301/http://sample1.com
#结束WordPress
例如

A:sample.com B:sample1.com


如果您想将sample.com重定向到sample1.com,那么您应该在重定向301旁边包含sample1.com。

这太不可思议了。效果很好。谢谢你的快速回复。没问题,很高兴能帮上忙。-非常感谢你的回复。我不使用Wordpress,因此无法真正测试您的解决方案。
RewriteCond %{HTTP_HOST} ^(example\.com) [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]

RewriteCond %{HTTPS} !^on$
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]
              # BEGIN WordPress
              <IfModule mod_rewrite.c>
              RewriteEngine On
              RewriteBase //
              RewriteRule ^index\.php$ - [L]
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteRule . //index.php [L]
              </IfModule>

              Redirect 301 / http://sample1.com
              # END WordPress