将https重定向到非www和http到www

Zar*_*rco 6 .htaccess https redirect no-www

我搜索并发现了数百个相关案例,但没有一个完全符合我的需要.我需要重定向的组合来执行以下操作:

进入 :

__PRE__

而:

__PRE__

对于普通的http网站,我想强制使用www.

但SSL证书只能加www,所以HTTPS应该不会有WWW.

谢谢,如果有人可以帮助我.

Bru*_*uno 12

https://www.mysite.com到的重定向https://mysite.com只能在客户端发出初始请求后才会发生https://www.mysite.com.

要使此初始连接正常工作,服务器https://www.mysite.com必须具有有效的证书www.mysite.com,否则甚至不会发生此连接(并且服务器不会发送重定向响应).

如果您仍需要重定向,则在同一服务器上,您的服务器必须提供对您要提供的主机名有效的证书.您应该获得一个带有两个主题备用名称DNS条目的证书:mysite.comwww.mysite.com; 这将允许您使用相同的证书为两个主机提供服务(如果需要,然后使用重写规则).

(如果您希望客户端支持它,您也可以使用具有两个不同证书的服务器名称指示,但这通常用于完全不同的主机名.)

CA颁发对两者都有效的证书mysite.com以及www.mysite.com当您申请其中一个证书时很常见,有时候不需要额外费用.


Ans*_*ari 0

将其放入非 HTTPS文档根目录中的 .htaccess 文件中:

RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R]
Run Code Online (Sandbox Code Playgroud)

这在你的 HTTPS 文档根目录中:

RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^www.mysite.com$
RewriteRule ^(.*)$ https://mysite.com/$1 [R]
Run Code Online (Sandbox Code Playgroud)