У меня есть веб-сайт, который работает в WordPress. В корневом каталоге этого сайта у меня есть каталог, в котором я тестирую скрипты PHP, не связанные с установкой WordPress. Я замечаю, что всякий раз, когда я требую или включаю файл, который действительно существует, я получаю 404. Если я закомментирую инструкцию require, все будет хорошо. Сначала это произошло из-за синтаксических ошибок. Но я очистил его и больше не получаю ничего в файле error_log. Что дает?В том числе существующий файл дает страницу 404 WordPress
EDIT: нашел это в моей основной error_log: malformed header from script. Bad header=X-UA-Compatible: ide.php
. У меня никогда не было проблем с этим на других серверах Apache.
Ниже виновный сценарий:
ide.php
<?php
require_once 'config.php';
if (isset($_SESSION['username'])) {
if (isset($_POST['command'])) {
if ($_POST['session'] == '@') {
session_destroy();
header('Location: /area51/ide.php');
} else {
echo 'None';
}
} else {
$smarty->assign('version', shell_exec("/home1/tylercro/local/python3/bin/python3 -c \"import sys;print('Python', sys.version)\""));
$smarty->display('ide.tpl');
}
} else {
if (isset($_POST['username']) && isset($_POST['password'])) {
if ($_POST['username'] == 'user' && $_POST['password'] == 'password') {
$_SESSION['username'] = $_POST['username'];
}
header('Location: /area51/ide.php');
} else {
$smarty->display('ide-login.tpl');
}
}
?>
config.php
<?php
error_reporting(E_ALL);
session_start();
if (!headers_sent()) {
header('X-UA-Compatible: chrome=1');
header('Content-Type: text/html; charset=UTF-8');
}
require_once 'Smarty-3.1.8/Smarty.class.php';
$smarty = new Smarty();
$smarty->setTemplateDir('Smarty-3.1.8/templates/');
$smarty->setCompileDir('Smarty-3.1.8/templates_c/');
$smarty->setCacheDir('Smarty-3.1.8/cache/');
$smarty->setConfigDir('Smarty-3.1.8/configs/');
?>