Ajax и htaccess - перенаправление только содержимого div, создание дубликата всего шаблона - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу использовать аудиопроигрыватель на своей странице, но проигрыватель не может быть перезагружен при обновлении страницы.Итак, я разделил шаблон на 3 деления: верхний и нижний колонтитулы, где находится игрок.Чтобы перенаправить на другую страницу, я использую ajax для обновления только содержимого div.В то же время я использую htaccess, чтобы перенаправить все в index.php, мой базовый шаблон.Я делаю так, чтобы всегда проверять каждый запрос, отображать запрашиваемую страницу, когда она существует, или страницу 404, когда ее не существует.Проблема в том, когда я перенаправляю на любую страницу, например, «/ about».Поскольку htaccess, index.php идет к содержимому div.Я хочу загрузить свой базовый шаблон в index.php только один раз.Есть ли обходной путь для моего сценария.Я не хочу использовать какую-либо информацию со стороны клиента, например, заголовки.Просто по соображениям безопасности.Ниже приведен пример моего кода:

Мой index.php

<?php

//Creating base template...;

//Here, will be a URI validation
$uri = $_SERVER["REQUEST_URI"];

?>

<script>

    $(document).on('click', "a", function(e){

        $.ajax({
            async: false,
            url: document.location.pathname,
            type: 'post',
            success: function(ret) {

                $("#content").html(ret);

            }
        });

        return false;
    });

</script>

<div id="header">
    <a href="/home">Home</a>
    <a href="/about">About</a>
</div>

<div id="content">
    <h1>Content Here</h1>
</div>

<div id="footer">
    <audio controls>
      <source src="horse.ogg" type="audio/ogg">
      <source src="horse.mp3" type="audio/mpeg">
    Your browser does not support the audio element.
    </audio>
</div>

Мой htaccess

RewriteEngine On

DirectoryIndex index.php

RewriteRule ^(.*)$ index.php [L]

Моя страница about.html

</h1>About Page</h1>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...