301将HTTP重定向到HTTPS:最佳方式

时间:2017-11-20 16:20:49

标签: html wordpress https

我一直在寻找完美的301重定向。但我发现了很多解决方案,并且不知道哪一个是最好的。虽然我尝试了前两个选项,但他们正在努力。

这是针对全新网站,我想将所有内容从 http://www.exampledomain.com 重定向到 https://www.exampledomain.com < / p>

如果有人帮我解决这个问题会很棒。

我找到了很多参考资料,如下:

1。 $("input, textarea").focus(function(){ setTimeout(function(){ if((initialHeight*0.7) > $("#height-div").height()){//if the current viewport height is smaller than 70% of the original size, it means that the keyboard is up //ENTER YOUR LOGIC HERE }else if((initialHeight*0.7) < parent.$submit.height()){//if the current viewport height is larger than 70% of the original size, it means that the keyboard is down //ENTER YOUR LOGIC HERE } },500); }); $("input, textarea").blur(function(){ setTimeout(function(){ if((initialHeight*0.7) > $("#height-div").height()){//if the current viewport height is smaller than 70% of the original size, it means that the keyboard is up //ENTER YOUR LOGIC HERE }else if((initialHeight*0.7) < parent.$submit.height()){//if the current viewport height is larger than 70% of the original size, it means that the keyboard is down //ENTER YOUR LOGIC HERE } },500); });

2。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.exampledomain.com/$1 [R,L] </IfModule>

3。 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

4。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L] </IfModule>

5。 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

6。 RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

非常感谢, 杰

1 个答案:

答案 0 :(得分:1)

它们都非常相同,只有很小的变化。

  1. 按端口号(80)检测非https流量,而不是通过变量%{HTTPS}检测非https流量,并仅重定向到https://www.exampledomain.com/。所以跳过这个。

  2. 这是“核心”版本,它说“当请求是仅限http时,将其重定向到适当的https版本”。没什么,没什么。

  3. 与2类似,但也增加了条件是否在Apache中可用mod_rewrite。如果你确定的话,你不需要添加它(没有mod_rewrite,这些方法都不会起作用)。此外,它在域名开头删除了“www”,因此所有流量都被重定向到网站的非www版本(从www.somedomain.com到somedomain.com)

  4. 这个缺少[L,R = 301],可能是错误地省略了

  5. 与2类似,但重定向到域名的www版。

  6. 与2类似,但它不是通用的,仅适用于example.com(您不想在现实世界中使用)。

  7. 所以,如果你不想在地址中使用www,请选择2,如果你这样做,则选择3或5。您可以在.htaccess的开头添加RewriteEngine On,它需要一次,而不是每个规则。如果您想在不同的服务器上使用相同的代码,并且您不确定哪些模块可用,则可以从3.添加<IfModule mod_rewrite.c></IfModule>