我一直在寻找完美的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]
非常感谢, 杰
答案 0 :(得分:1)
它们都非常相同,只有很小的变化。
按端口号(80)检测非https流量,而不是通过变量%{HTTPS}检测非https流量,并仅重定向到https://www.exampledomain.com/。所以跳过这个。
这是“核心”版本,它说“当请求是仅限http时,将其重定向到适当的https版本”。没什么,没什么。
与2类似,但也增加了条件是否在Apache中可用mod_rewrite。如果你确定的话,你不需要添加它(没有mod_rewrite,这些方法都不会起作用)。此外,它在域名开头删除了“www”,因此所有流量都被重定向到网站的非www版本(从www.somedomain.com到somedomain.com)
这个缺少[L,R = 301],可能是错误地省略了
与2类似,但重定向到域名的www版。
与2类似,但它不是通用的,仅适用于example.com(您不想在现实世界中使用)。
所以,如果你不想在地址中使用www,请选择2,如果你这样做,则选择3或5。您可以在.htaccess的开头添加RewriteEngine On
,它需要一次,而不是每个规则。如果您想在不同的服务器上使用相同的代码,并且您不确定哪些模块可用,则可以从3.添加<IfModule mod_rewrite.c>
和</IfModule>
。