【发布时间】:2016-10-20 22:37:52
【问题描述】:
我一直在努力完成这项工作,我在 Digital Ocean 上有一个 droplet,安装了 CENTOS 7 和最新的 Cpanel 版本,我在我的 Centos 上安装了一个名为 nDeploy 的软件,它安装了 nginx 并添加了 cpanel 支持以作为使用 apache 的反向代理,我仍然试图理解所有这些 nginx 的东西,所以,这个 nDeploy 插件,带有一些自动配置文件,非常适用于 wordpress 和其他东西......到目前为止,它一直非常稳定和好...... .
所以,我在这台服务器上有 2 个域(共享相同的 IP 地址,但在 whm 的不同帐户中,两个站点都运行得非常好,安装了 wordpress,但我希望 wordpress 在 1 个站点中,然后在另一个站点中我想要一个 php 脚本,它可以作为外联网系统用于预订...
所以让我们定义: 站点 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();
?>
那么这是/inc/文件夹中template.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();
}
?>
这是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 © Powered by extranet - '. VERSION);
define('LICENCE_KEY','*******');
?>
所以.. 如您所见,根目录上的 index.php 会将您带到其他几个 php 文件,以显示真正的 index.php(或者至少这是我理解的),我认为这是问题,因为例如,如果我访问后端管理站点,那里的一切都运行良好......至于 site2.com/admin/
但是 site2.com/ 根主目录不起作用,给我这个错误:“重定向太多”
提前感谢您对此提供的任何帮助...请原谅我的英语不是我的母语。
如果您需要任何其他代码...或日志或任何我可以提供的...
【问题讨论】:
标签: php apache nginx cpanel centos7