Я старался сделать эту работу, у меня есть капелька на Digital Ocean, с установленной CENTOS 7 и последней версией Cpanel, я установил программное обеспечение на своем Centos под названием nDeploy, которое установило nginx и добавило поддержку cpanel для работы в обратном порядке proxy с apache, im все еще пытается понять все эти вещи nginx, поэтому этот плагин nDeploy поставляется с некоторыми автоматическими конфигурационными файлами, которые действительно хорошо работают с wordpress и другими продуктами ... пока это было очень стабильно и хорошо ...Nginx «ERR TOO MANY REDIRECTS» Index.php issue?
Итак, у меня на этом сервере 2 домена (общий IP-адрес, но в разных учетных записях в whm, оба сайта работают удивительно хорошо, с установкой wordpress, но я хочу wordpress на 1 сайте, а затем в другом Я хочу php-скрипт, который работает как система экстранета для резервирования ...
Так позволяет определить: сайта 1: Wordpress сайт * Работа очень тонкая сайта 2: PHP сайт * не работает Ошибка: слишком много переадресаций
Проблема:
Для всех я пытался понять, , я думаю, что проблема в том, что «Site 2» имеют другую структуру index.php, но им не уверен, как это исправить ... позвольте мне показать вам код этого index.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 внутри/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 © Powered by extranet - '. VERSION);
define('LICENCE_KEY','*******');
?>
Так .., как вы можете видеть, index.php на корневой каталог займет у вас несколько других PHP файлов, чтобы показать реальный index.php (или, по крайней мере, это то, что я понимаю), я думаю, что это проблема, потому что, например, если у меня есть доступ к серверному админ-сайту, все работает очень хорошо ... site2.com/ admin/
, но site2.com/ корневой домашний каталог не работает, что дает мне эту ошибку: «Слишком много перенаправлений»
Заранее спасибо за любую помощь в этом ... и, пожалуйста, извините мой английский, что не является моим родным языком.
Если вам нужен любой другой код ... или журналы или что-нибудь я могу предоставить ему ...
Привет, @ Chay22 спасибо ... я думаю, что им понимание теперь ... я попытался, как вы сказали, и теперь я получаю HTTP ERROR 500 ... не уверен, что все-таки должен быть что-то в моем коде или nginx conf. – GTCR
Положите свой журнал ошибок и обновите текущие попытки. Я предполагаю, что это происходит из-за ваших циклов mysqli – Chay22
Привет ... Я изменил с cpanel на PHP5.6, он был настроен на PHP7.0, поэтому я изменился, и теперь дом работает ... без ошибок ... теперь я есть еще одна проблема ... когда я перехожу в другое место на моей странице ... например: site2.com/reservation.php, он говорит, что файл не найден ... этот файл reserve.php не находится в корневом каталоге, где index.php is ... но этот код работает из коробки в обычной конфигурации LAMP Cpanel, это происходит только со мной с этой новой конфигурацией nginx ... какой журнал ошибок я должен использовать? Еще раз спасибо @ Chay22 – GTCR