使用www从非www http重定向到https
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用www从非www http重定向到https相关的知识,希望对你有一定的参考价值。
我正在尝试将我们的旧网站从http重定向到https,同时从非www重定向到www。我们目前有很多链接,这些年来我们已经获得了非www和http版本的网站,我想减少重定向的数量,因为不想被“link-juice”稀释。我们还有来自https //非www和http // www:/的链接
目前,重定向架构如下所示:
http://domain.com/oldpage.html 301永久移动 https://domain.com/oldpage.html 301永久移动 https://www.domain.com/newpage.html 200好的
是否有一种解决方法可以减少301重定向?例如这样: http // domain.com / oldpage.html - >到https://www.domain.com/newpage.html
这就是你想要的.htaccess
只有1个重定向,无论它是不安全(http),顶点(www-less)还是两者:
# canonical redirect http → https ( with optional www complection)
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(www.)?example.com [NC]
RewriteRule ^/?(.*) https://www.example.com/$1 [L,R=301]
# https:// apex → https:// www.*
RewriteCond %{HTTP_HOST} ^(?!www.)example.com [NC]
RewriteRule ^/?(.*) https://www.example.com/$1 [L,R=301]
是的,很容易理解在任何匹配首选形式的请求URL上运行正则表达式
像在javascript /^https://www..*$/.exec(url)
中,如果这返回非null值,这意味着https&www表单的url
否则,如果其中一个vaiolats你的规则像http或非www url或所有他们解析网址并提取路径只是然后将它附加到你的完美网址
var redirectURL = "https://www.yourDomain.com"+path;
然后将重定向请求发送到这个完美的表单。
从这个要求:
重定向到新网址
只是在一个重定向响应中
NameVirtualHost *:80
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
RedirectPermanent / https://www.example.com
</VirtualHost>
<VirtualHost *:80>
ServerName example.net
ServerAlias www.example.net
DocumentRoot /var/www/html/example.net
RedirectMatch "old-page$" "https://www.example.com/new-page”
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
...
</VirtualHost>
参考:https://wiki.apache.org/httpd/RedirectSSL
以上是关于使用www从非www http重定向到https的主要内容,如果未能解决你的问题,请参考以下文章
如何在 aws s3 存储桶和云端执行从非 www 到 www 的 301 重定向