получение объекта ошибки не найдено Запрошенный URL-адрес не найден на этом сервере

#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