HTTP到HTTPS 301重定向代码不起作用,它表示重定向太多

时间:2017-03-01 13:04:50

标签: .htaccess ssl redirect mod-rewrite https

我在其中一个网站上使用Bluehost。最近,我最近将我的网站从HTTP移到了HTTPS。 在那之后,我使用了可能不同的代码,包括以下代码,强制我的网站上的HTTPS。

# SSL Rewrite
RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

使用这篇文章后,当我在网上查看 redirect-checker 上的重定向时,我收到以下消息。

  

但它不起作用。重定向太多。请尽量减少你的   http://www.example.com的重定向次数。您使用19重定向。   理想情况下,您不应在重定向链中使用超过3个重定向。   超过三次重定向会对您造成不必要的负担   服务器和降低速度,最终导致糟糕的用户体验。

如果您想从浏览器访问我的网站 ,我会收到警告:

  

www.example.com页面无效。 www.example.com重定向了您   太多次了。

我认为一些重定向循环正在产生这样的问题。

然而,

我的网站状态现在:不使用htaccess上的任何代码

  
      
  1. https // www.example.com工作得很好。返回200 OK。 200 OK2

  2.   
  3. https // example.com现已301重定向到https // www.example.com(所以,我觉得它也没关系)

  4.   

问题是:

  
      
  1. http // example.com现已301重定向到http // www.example.com
  2.   
  3. HTTP // WWW。 example.com返回200 OK。
  4.   

要解决问题3,我在htaccess

中包含了以下代码
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

之后我发现:

  

http // example.com现已301重定向到https // www.example.com

所以问题解决了:

http//example.com
https//example.com
https//www.example.com

现在我只需要一些代码来重定向301:

  

http // www.example.com要https // www.example.com`

有人可以帮助我吗?

如果我以有线方式解释我的问题,我很抱歉......:D。问题是我不是这方面的专家。希望大家都明白。

1 个答案:

答案 0 :(得分:1)

试试这个:

PRC=`ps -ef | grep test | wc -l`
if [ ${PRC} -eq 1 ]
then
    echo "Congrats"