Apache 将所有HTTP请求(非www&www,子域)重定向到HTTPS
我希望能够将所有访问者重定向到网站及其子域,如以下所示: -> -> -> -> -> 其他重定向: w或ww、wwww等。example.com-> w或ww、wwww等。sub.example.com-> 重定向应该是可缓存的HTTP 301重定向。使用的配置是Apache 2.4.10+mod spdy,具有严格的传输安全性和通配符SSL证书 当前在.htaccess中使用以下内容:Apache 将所有HTTP请求(非www&www,子域)重定向到HTTPS,apache,.htaccess,redirect,ssl,Apache,.htaccess,Redirect,Ssl,我希望能够将所有访问者重定向到网站及其子域,如以下所示: -> -> -> -> -> 其他重定向: w或ww、wwww等。example.com-> w或ww、wwww等。sub.example.com-> 重定向应该是可缓存的HTTP 301重定向。使用的配置是Apache 2.4.10+mod spdy,具有严格的传输安全性和通配符SSL证书 当前在.htaccess中使用以下内容: RewriteCond %{SERVER_PORT} !^443 RewriteCond %{H
RewriteCond %{SERVER_PORT} !^443
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^ "https://www.example.com%{REQUEST_URI}" [R=301,L]
RewriteCond %{SERVER_PORT} !^443
RewriteCond %{HTTP_HOST} ^sub\.example\.com$
RewriteRule ^ "https://sub.example.com%{REQUEST_URI}" [R=301,L]
我一直在使用spdycheck.org来测试这一点,它在主域中运行良好,在子域中我得到以下消息:
允许HTTP通信量
此网站仍然可以通过HTTP访问。超文本传输协议
没有提供任何广泛实施的机制来使用其他
像SPDY这样的协议。仅使用NPN扩展的SSL/TLS上的流量
可以使用SPDY进行优化。通过允许HTTP流量,此网站
甚至没有为支持SPDY的浏览器提供使用SPDY的选择。如果
如果可能,此网站应将所有http://重定向到https://,
理想情况下使用可缓存的HTTP 301重定向
实现这一目标的好方法是什么?如果需要,我也可以修改httpd.conf。如果您在httpd.conf中执行此操作,请输入以下内容:
<VirtualHost _default_:80>
RewriteEngine On
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NE,L,R=301]
</VirtualHost>
在所有虚拟主机之后,请确保其他虚拟主机仅为端口443。这将使其重定向到全局http vhost,该全局http vhost将分别将每个页面重定向到HTTPS并提供301重定向。我只希望web服务器上的一个虚拟主机使用其顶级.htaccess在SSL上提供服务,例如sub1.mysite.com。我该怎么做?