Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache htaccess-当多个域指向同一服务器时,需要将一个非https域重定向到https_Apache_.htaccess - Fatal编程技术网

Apache htaccess-当多个域指向同一服务器时,需要将一个非https域重定向到https

Apache htaccess-当多个域指向同一服务器时,需要将一个非https域重定向到https,apache,.htaccess,Apache,.htaccess,当多个域指向同一服务器时,需要将一个非https域重定向到https。 具体来说,所有非www域都需要重定向到www,只有一个域需要重定向到www以及https 例如,具有SSL的域 http://example.com to https://www.example.com http://www.example.com to https://www.example.com https://example.com to https://www.example.com 域没有SSL http://

当多个域指向同一服务器时,需要将一个非https域重定向到https。 具体来说,所有非www域都需要重定向到www,只有一个域需要重定向到www以及https

例如,具有SSL的域

http://example.com to https://www.example.com
http://www.example.com to https://www.example.com
https://example.com to https://www.example.com
域没有SSL

http://example2.com to http://www.example2.com
http://example3.com to http://www.example3.com
我已经尝试了stackoverflow上提供的许多解决方案

我当前的访问权限如下所示

#redirect to https - domain that having SSL
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

#all other non www to www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^example\.com
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

除了一个场景外,一切正常。当我使用www
(http://www.example.com)
具有SSL,而不是重定向到https。

如果我确实正确地遵循了您的要求,只需首先添加以下内容:

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

@ArunA具体使用什么URL?顺便说一句,除非出于某种原因需要302重定向,否则您需要确保所有[R]都是[R=301]。