#php
#php
Вопрос:
я создаю веб-сайт, похожий на веб-сайт stackoverflow, и когда я пытаюсь получить доступ к signin.php или страницы регистрации по-прежнему выдают сообщение об ошибке: Объект не найден! Запрошенный URL-адрес не был найден на этом сервере. Ссылка на ссылочной странице кажется неверной или устаревшей. Пожалуйста, сообщите автору этой страницы об ошибке.
Если вы считаете, что это ошибка сервера, пожалуйста, свяжитесь с веб-мастером.
Ошибка 404.
Обратите внимание, что я могу получить доступ к другим страницам (index.php ,questionDetails.php , …) без каких-либо проблем
а затем, когда я выполнил поиск, чтобы узнать, почему возникает эта ошибка, я обнаружил, что мне не хватает чего-то вроде .файл htaccess.
итак, как выглядит мой проект:
hirarchy: иерархия моих файлов
navbar.php файл:
<?php
if (! isset($_SESSION)) {
session_start();
}
echo $_SERVER['PHP_SELF'];
?>
<!DOCTYPE html>
<html>
<style type="text/css">
.brand{
font-family: fantasy;
}
.ulNavbar{
display: inline-flex;
}
</style>
<nav class="nav-wraper white ">
<div class="container">
<a href="index.php" class="brand-logo brand black-text">UnivBatna</a>
<a href="#" class="sidenav-trigger" data-target='mobile-links'>
<i class="material-icons blue-text">menu</i>
</a>
<ul class="right hide-on-med-and-down ulNavbar">
<?php if (!empty($_SESSION['username'])){ ?>
<img src="../imgs/yuna.jpg" alt="image" width='40px' height='50px' alt="" class="circle responsive-img img-profile">
<p class="right black-text"> <?php echo $_SESSION['username']; ?></p>
<button id="logout">LogOut</button>
<form action="../includes/logout.inc.php" method="POST">
<input type="submit" name="logout" class="btn" value="Logout">
</form>
<?php } else{ ?>
<li><a href="./auth/Signin.php" class="btn brand">sign In</a></li>
<li><a href="./auth/Signup.php" class="btn brand">sign up</a></li>
<?php } ?>
</ul>
</div>
</nav>
<ul class="sidenav" id="mobile-links">
<li><a href="addquestion.php" class="btn blue">Add Question</a></li>
</ul>
</html>
index.php файл
<!DOCTYPE html>
<html>
<?php include('./templates/header.php') ;?>
<?php include('./dashboard/Dashboard.php') ?>
<?php include('./templates/footer.php'); ?>
</html>
я думаю, что я что-то здесь упускаю.
уже спасибо
Комментарии:
1. Некоторые файловые системы чувствительны к регистру. В вашем вопросе упоминается
signin.php
, но ваш код ищетSignin.php
. Я бы начал с этого. Я бы также рекомендовал использовать только нижний регистр, это просто упрощает работу. Также./auth/Signin.php
означает «из текущего каталога / папки в URL-адресе найдите подпапкуauth
с этим файлом». Если ваш URL-адрес содержит такие вещи, как «общедоступный» или «шаблоны», это означает, что он пытается перейти к «/public/auth/Signin.php » и не » /auth/Signin.php »2. Для php структура / пути иногда отличаются от того, что вы предполагаете (длинная история), вы всегда можете проверить, что видит ваш скрипт php.net/manual/en/function.scandir