Apache htaccess-当多个域指向同一服务器时,需要将一个非https域重定向到https
当多个域指向同一服务器时,需要将一个非https域重定向到https。 具体来说,所有非www域都需要重定向到www,只有一个域需要重定向到www以及https 例如,具有SSL的域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://
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]。