使用端口将所有流量重写为https

时间:2015-08-21 15:35:13

标签: .htaccess nginx plesk

安装了vServer和plesk(Apache后端,Nginx反向代理),plesk正在侦听端口8443。 我使用主机名作为域,以便更轻松地访问和SSL证书域。所以我想将所有流量重定向到特定流量:

到目前为止我得到的是这条规则

return 301 https://www.DOMAIN.com:8443/;

将所有内容引导至Plesk Panel网址,但如果有人使用此

https://DOMAIN.com:8443 

他不会被重定向到

https://www.DOMAIN.com:8443

并且SSL证书不起作用(基于域)。如何强制每个流量(http和https与端口80和8443)

https://www.DOMAIN.com:8443

提前致谢

1 个答案:

答案 0 :(得分:1)

你可以HTACCESS这样做:

代码

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}:8443 [R=301,L]

这样做是检查用户是否在不使用www的情况下尝试访问该站点,如果是,则在您想要的特定端口上重定向到www。

如果您已将端口80流量重定向到端口8443,并且您只想重定向www规则,我上面列出的内容将起作用。您还可以根据使用的端口进行mod重写重定向。

看起来像这样:

代码

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{SERVER_PORT} ^80$
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}:8443 [R=301,L]

您只需要确保您使用的每个虚拟主机都具有mod重写规则。您可能必须为要使用的额外端口创建虚拟主机。这些虚拟主机唯一拥有的是重定向规则。否则,您可能会收到404错误。