2017-06-13 80 views
1

我对装载我的模板得到一个问题,我曾试图测试上XAMPP和同样的问题,我的模板一些proplems再次PHP - 在检测HTTPS协议

内部服务器错误

服务器发生遇到内部错误或配置错误,并且无法完成您的请求 。

请通过[email protected]至 与服务器管理员联系,通知他们发生此错误的时间以及您在此错误发生前执行的操作 。关于此错误的

的更多信息可以在服务器错误 log.`可

它并不显示起初只是加载网页任何东西,然后这个错误没有了......请帮助,但对XAMPP它只是不断加载我 网页,但是当我试图解决这个问题一段时间后,发现它并试图解决它,但我需要一些帮助,请在固定其

$Domain = $_SERVER['HTTP_HOST']; 
$Path = $_SERVER['PHP_SELF']; 
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) 
{ 
    echo '<script type="text/javascript">window.location.assign("https://' .$Domain.$Path. '");</script>'; 
} 
else 
{ 
    echo '<script type="text/javascript">window.location.assign("http://' .$Domain.$Path. '");</script>'; 
} 

之前造成它的代码,请一些帮帮我 ???

回答

2

原因是因为每次你的页面加载脚本正在运行和刷新的网站层出不穷。您需要知道该页面是否已被重定向。 例如:

<?php 
    if (!isset($_GET['r'])){ 
     $Domain = $_SERVER['HTTP_HOST']; 
     $Path = $_SERVER['PHP_SELF']; 
     if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) 
     { 
      echo '<script type="text/javascript">window.location.assign("https://' .$Domain.$Path. '?r=https");</script>'; 
     } 
     else 
     { 
      echo '<script type="text/javascript">window.location.assign("http://' .$Domain.$Path. '?r=http");</script>'; 
     } 
    } 
?> 

我不明白这一点。而我会建议你使用位置,而不是。例如:

header('Location: http://www.example.com/'); 
+0

这工作表示感谢:D(但我已经使用会话和一些....) –

0

这是一种非常糟糕的重新加载页面的方式。 下面的代码重新加载无限,直到URL被修改...... 要了解这个网页,运行下面的代码...

$域= $ _ SERVER [“HTTP_HOST”]; $ Path = $ _SERVER ['PHP_SELF'];

如果(!空($ _ SERVER [ 'HTTPS'])& &( '上' == $ _ SERVER [ 'HTTPS'])){

echo 'HTTPS AVAILABLE'; 
    echo '<script type= "text/javascript">window.location.assign("https://' . $Domain .$Path. '");</script>'; 
} else { 



echo 'HTTPS NOT AVAILABLE '; 
echo '<script type="text/javascript">window.location.assign("http://' . $Domain .$Path.' ");</script>'; 

}

而网页不断加载,修改代码至此

$Domain = $_SERVER['HTTP_HOST']; 
$Path = $_SERVER['PHP_SELF']; 

if(!空($ _ SERVER [ 'HTTPS'])& &( '上' == $ _ SERVER [ 'HTTPS'])){

echo 'HTTPS AVAILABLE'; 
echo '<script type="text/javascript">window.location.assign("https://' . $Domain . '");</script>'; 

}其他{

echo 'HTTPS NOT AVAILABLE '; 
echo '<script type="text/javascript">window.location.assign("http://' . $Domain .' ");</script>'; 

}

一旦保存,如果在本地计算机上运行,​​则会将您重定向到https://localhosthttp://localhost

如果url相同,则window.location.assign()会无限重新加载页面。

+0

它的坏主意,以保持每次浏览器的主要索引模板,然后它会继续重新加载页面不再更多,如果你不是在代码运行时检查日志记录,并在它作为@ ChristianG的回复(已测试)运行之前检查它。内部服务器错误为我的原始Proplem。 –