我一直在努力做到这一点,我在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;
提前感谢您对此的任何帮助......请原谅我的英语,这不是我的母语。
如果您需要任何其他代码...或日志或任何我可以提供的代码......
答案 0 :(得分:1)
$page = $_GET["page"];
if(!isset($page) || $page == "" ){
header("Location:".SITE."index.php");
exit();
}
让我来形容一下
page
请求的网址参数GET
,则重定向到SITE . "index.php"
SITE
等于函数siteURL()
siteURL()
可以打印https://example.com
或http://example.com
这3个点指向http://example.com/index.php
或https://example.com/index.php
,其中一个是您现在尝试访问的网址。
如果你再次回顾第1点,你会得到答案。
您正在访问的页面正在重定向您的页面 访问,将您重定向到您访问的页面.....所以 无限地
因为默认page
为page
index
if(!isset($page) || $page == "" ){
header("Location:".SITE."index.php?page=index");
exit();
}