Nginx" ERR太多REDIRECTS" Index.php问题?

时间:2016-06-19 16:44:35

标签: php apache nginx cpanel centos7

我一直在努力做到这一点,我在Digital Ocean上有一个Droplet,安装了CENTOS 7和最新的Cpanel版本,我在我的Centos上安装了一个名为nDeploy的软件,安装了nginx并添加了cpanel支持。反向代理与apache,我仍然试图了解所有这些nginx的东西所以,这个nDeploy插件,附带一些自动配置文件,这与wordpress和其他东西真的很好...到目前为止,它已经非常稳定和良好..

所以,我在这个服务器2域(共享相同的IP地址,但在不同的帐户中,两个站点工作得非常好,使用wordpress安装,但我希望wordpress在1个站点,然后在另一个站点我想要一个PHP脚本,作为预订的外联网系统......

所以我们定义: 网站1:Wordpress网站*工作非常好 站点2:PHP站点*不工作错误:重定向太多

问题:

对于我一直试图理解的一切,我认为问题是" Site 2"有一个不同的index.php结构,但我不知道如何解决它...让我告诉你这个index.php的代码:

Info Due To Bad Lint Algo

然后这是/ inc /文件夹中的template.php的代码:

<?php ob_start();
include "inc/config.php";
    $page = $_GET["page"];  
    if(!isset($page) || $page == "" ){ 
        header("Location:".SITE."index.php");
        exit();
    }
    $access = 1;

include "inc/template.php";
ob_flush();
?>

这是config.php的代码:

<?php
if ($access != 1) {
    exit("Direct Access not allowed");
}
require_once("db.php");
if (isset($_GET["page"])) {
    $page = $_GET["page"];
}

//Content
if (file_exists(PAGES . $page . ".php")) {
    $content = PAGES . $page . ".php";
} else {
    $content = HEAD . "default.php";
}

//Sidebar
if (file_exists(SIDEBAR . $page . ".php")) {
    $sidebar = SIDEBAR . $page . ".php";
} else {
    $sidebar = SIDEBAR . "default.php";
}

//Widget
function widget($name)
{
    if (file_exists(WIDGETS . $name . ".php")) {
        include WIDGETS . $name . ".php";
    } else {
        echo "WIGET NOT FOUND";
    }
}

//Plugins 
function plugins($name)
{
    if (file_exists(PLUGINS . $name . DS . "index.php")) {
        include PLUGINS . $name . DS . "index.php";
    } else {
        echo "PLUGIN NOT FOUND";
    }
}

//Querys    
if (file_exists(QUERYS . $page . ".php")) {
    $querys = QUERYS . $page . ".php";
} else {
    $querys = QUERYS . "default.php";
}

//Currency    
if (file_exists(WIDGETS . "currencychange.php")) {
    $currency = WIDGETS . "currencychange.php";
}

//Header    
if (file_exists(HEAD . $page . ".php")) {
    $head = HEAD . $page . ".php";
} else {
    $head = HEAD . "default.php";
}

//Footer
if (file_exists(FOOTER . $page . ".php")) {
    $footer = FOOTER . $page . ".php";
} else {
    $footer = FOOTER . "default.php";
}


//Layout Pages

//Pages Data
$pageslist = mysqli_query($conn, "SELECT page_link FROM page_settings ");
$pagestotal = mysqli_num_rows($pageslist);

if (isset($_GET["page"])) {
    $page = $_GET["page"];

$type = "notfound";

for($i = 0; $i < $pagestotal; $i++) {
  $row = mysqli_fetch_array($pageslist);

$casename = str_replace('.php', '', $row[0]);  
   switch ($page) {
        case $casename:
            $type = $row[0];
            break;
    }
}

if($type == 'notfound') {
  header("Location: ".SITE."");
} else {
    $theme = ABSPATH . "template" . DS . THEME_NAME . DS . $type;
}
    include $theme;
} else {
    echo "PAGE NOT FOUND";
    exit();
}
?>

所以..正如你所看到的,根目录下的index.php将你带到其他几个php文件,以显示真正的index.php(或至少这是我所理解的),我认为这是问题,因为,例如,如果我访问后端管理站点,一切都很好...那就是site2.com/admin /

但是site2.com/ root主目录无法正常工作,给我一个错误:&#34;重定向太多&#34;

提前感谢您对此的任何帮助......请原谅我的英语,这不是我的母语。

如果您需要任何其他代码...或日志或任何我可以提供的代码......

1 个答案:

答案 0 :(得分:1)

$page = $_GET["page"];    
if(!isset($page) || $page == "" ){ 
    header("Location:".SITE."index.php");
    exit();
}

让我来形容一下

  1. 如果没有带有page请求的网址参数GET,则重定向到SITE . "index.php"
  2. Const SITE等于函数siteURL()
  3. 功能siteURL()可以打印https://example.comhttp://example.com
  4. 这3个点指向http://example.com/index.phphttps://example.com/index.php,其中一个是您现在尝试访问的网址。

    如果你再次回顾第1点,你会得到答案。

      

    您正在访问的页面正在重定向您的页面   访问,将您重定向到您访问的页面.....所以   无限地

    因为默认pagepage

    ,因此需要设置网址参数index
    if(!isset($page) || $page == "" ){ 
        header("Location:".SITE."index.php?page=index");
        exit();
    }