Nginx "ERR TOO MANY REDIRECTS" Index.php问题?



我一直在努力制作这项工作,我在数字海洋上有一滴液滴,并安装了CentOS 7和最新的CPANEL版本,我在CentOS上安装了一个名为Ndeploy的软件,nginx并添加CPANEL支持以作为与Apache的反向代理一起工作,我仍在尝试理解所有这些nginx东西,因此,这个NDEPLOY插件具有一些自动配置文件,WICH确实可以与WordPress和其他东西一起工作...到目前为止,一直很稳定,好...

所以,我在这个服务器2域上有(共享相同的IP地址,但是在WHM中的不同帐户中,两个站点都可以使用WordPress安装,但是我希望WordPress在1个站点中,然后在另一个站点中我想要一个php脚本WICH可以用作预订的外部系统...

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

问题:

对于我一直在尝试理解的所有内容,我认为问题是"站点2"具有不同的index.php结构,但我不确定如何修复它...让我向您展示此索引的代码。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();
?>

那么这是template.php inside/inc/folder的代码:

<?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();
}
?>

这是config.php的代码:

<?php
//------------------------------- FRONT END CONFIGURATION -------------------------------//
//------------------------------- ----------------------- -------------------------------//

//Front End URL PATH
function siteURL()
{
  $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
  $domainName = $_SERVER['HTTP_HOST'].'/'; // /foldername is subdirectory
  return $protocol.$domainName;
}

//Page Path Information
define("DS", "/");
define('ROOTPATH', $_SERVER['DOCUMENT_ROOT']);
define("THEME_NAME", "default");
define('ABSPATH', dirname(__FILE__) . DS);
define('SITE', siteURL() );
define('WIDGETS', ABSPATH . "widget" . DS);
define('PLUGINS', ABSPATH . "plugins" . DS);
define('SIDEBAR', ABSPATH . "template" . DS . THEME_NAME . DS . "pages" . DS . "sidebar" . DS);
define('THEME', ABSPATH . "template" . DS . THEME_NAME . DS);
define('PAGES', ABSPATH . "template" . DS . THEME_NAME . DS . "pages" . DS);
define('QUERYS', ABSPATH . "querys" . DS);
define('HEAD', ABSPATH . "template" . DS . THEME_NAME . DS . "head" . DS);
define('FOOTER', ABSPATH . "template" . DS . THEME_NAME . DS . "footer" . DS);
define('PATH', SITE . "inc" . DS . "template" . DS . THEME_NAME . DS);
define('VERSION', "v1.7");

//Activate SSL
define('SSLACTIVE', 1); //Tell the class to use SSL Set: 1 / 0

//SMTP Configuration
define('USESMTP', 0); //Tell the class to use SMTP or phpmail Set: 1 / 0
define('AUTHSMTP', true); //Enable SMTP authentication: true / false
define('SSLSMTP', "TLS"); //Need SSL or TLS
define('PORTSMTP', 587); //Set the SMTP server port 465 or 587
define('HOSTSMTP', "smtp.sendgrid.net"); //Set the SMTP server port 465 or 587
define('USERNAMESMTP', "test"); //SMTP server username
define('PASSWORDSMTP', "test"); //SMTP server password

//Define your Key and Salt to Encrypt and Decrypt reservation email card
define('ENCRYPTORKEY', 'YOUR-KEY'); //Add your own key
define('ENCRYPTORSALT', 'YOUR-SALT'); //Add your own salt key
//------------------------------- --------------------------- -------------------------------//
//------------------------------- --------------------------- -------------------------------//

//------------------------------- BACKEND ADMIN CONFIGURATION -------------------------------//
//------------------------------- --------------------------- -------------------------------//

//Admin Panel URL PATH
function siteURLA()
{
  $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
  $domainName = $_SERVER['HTTP_HOST'].'/'.'admin/'; // admin is subdirectory
  return $protocol.$domainName;
}
define( 'SITE_URL', siteURLA() );
define('WEBSITE_DOMAIN', SITE_URL);

/// Default language: en, es, autodetect
$DEFAULT_LANGUAGE = "autodetect";
$cookiepath = "/";
$multilangpath = SITE_URL . "multilang";
$multilangurl = "/admin/multilang";
$websitedirectory = "/";

//BACKEND ADMIN TITLE
define('WEBSITE_NAME', "Bookingo");

//SESSION CONFIGURATION
define('SESSION_NAME',"ac_session");
define('SESSION_SECURE', false);
define('SESSION_HTTP_ONLY', true);
define('SESSION_REGENERATE_ID', true);
define('SESSION_USE_ONLY_COOKIES', 1);

//LOGIN CONFIGURATION
define('LOGIN_MAX_LOGIN_ATTEMPTS', 7);
define('LOGIN_FINGERPRINT', true);

//PASSWORD CONFIGURATION
define('PASSWORD_ENCRYPTION', "bcrypt"); //available values: "sha512", "crypt"
define('PASSWORD_BCRYPT_COST', "13");
define('PASSWORD_SHA512_ITERATIONS', 25000);
define('PASSWORD_SALT', "********"); //22 characters to be appended on first 7 characters that will be generated using PASSWORD_ info above

//REGISTRATION CONFIGURATION
define('REGISTER_CONFIRM', SITE_URL . "confirm.php"); 
define('REGISTER_PASSWORD_RESET', SITE_URL . "passwordreset.php"); 

//ERROR MESSAGES
define('ERROR_EMAIL_REQUIRED', "Email is required.");
define('ERROR_EMAIL_WRONG_FORMAT', "Please enter valid email.");
define('ERROR_EMAIL_NOT_EXIST', "This email doesn't exist in our database.");
define('ERROR_EMAIL_TAKEN',"User with this email is already registred.");
define('ERROR_USERNAME_REQUIRED', "Username is required.");
define('ERROR_USERNAME_TAKEN', "Username already in use.");
define('ERROR_USER_NOT_CONFIRMED', "Please confirm your email.");
define('ERROR_PASSWORD_REQUIRED', "Password is required.");
define('ERROR_WRONG_USERNAME_PASSWORD', "Wrong username/password combination.");
define('ERROR_PASSWORDS_DONT_MATCH', "Passwords don't match.");
define('ERROR_WRONG_SUM', "Wrong sum. Please check it again.");
define('ERROR_BRUTE_FORCE', "You exceeded maximum attempts limit for today. Try again tomorrow.");

//SUCCESS MESSAGES
define('SUCCESS_REGISTRATION', "Registration successful. Please check your email.");
define('SUCCESS_ADDUSER', "Registration successful.");

//CUSTOM APP DATA
define('APPNAME','extranet');
define('COMPANYNAME','extranet');
define('COPYRIGHT','2013 - 2015 &copy; Powered by extranet - '. VERSION);
define('LICENCE_KEY','*******');
?>

so ..如您所见,根目录上的index.php将您带到其他几个PHP文件,以显示真实的index.php(或至少这是我了解的),我认为这是问题,因为例如,如果我访问后端管理站点,那么一切都很好...

但是site2.com/根主目录不起作用,给我错误:"重定向太多"

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

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

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

让我描述

  1. 如果没有GET请求的URL参数page,则将其重定向到SITE . "index.php"
  2. const SITE等于功能siteURL()
  3. 功能siteURL()是打印https://example.comhttp://example.com

这3分指向http://example.com/index.phphttps://example.com/index.php,其中之一是您现在要访问的URL。

如果您再次回头。您会得到答案的原因。

您正在访问一个将您的页面重定向的页面 访问将您重定向到您访问的页面..... Forthellitely

因此,由于默认的 pageindex

,需要设置url param page
if(!isset($page) || $page == "" ){ 
    header("Location:".SITE."index.php?page=index");
    exit();
}

最新更新