Переопределение доступа к папке в PHP - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь написать готовый PWA MVC фреймворк на PHP.Контроллеры и модели написаны на PHP, а представления - это простой HTML, поддерживаемый AJAX.

Итак, я начал с создания класса маршрутизации URL для управления запросами.Я также написал класс Session, и он работает нормально.

Но моя проблема здесь в том, что для кэширования мне нужны статические HTML-страницы на стороне клиента.Но я не хочу, чтобы эти файлы были доступны без входа в систему.Допустим, у меня есть структура папок, такая как:

    / LIBS
        / route.php
    / Static
        / index.html
    index.php

Когда я ввожу URL-адрес, например: mysite.com/foo/bar, класс маршрутизации выполняет работу и возвращает массив:

array (
  0 => 'foo',
  1 => 'bar',
)

Тоэто хорошо.Но когда я ввожу mysite.com/static, он просто переходит в папку STATIC и приносит index.html, который находится внутри этой папки.

Я хочу, чтобы после успешного входа в систему эти файлы были доступны через php с контролем сеанса.Но я не хочу, чтобы мои посетители обращались к этим файлам перед входом в систему.

Я пытался отключить доступ с помощью htaccess, но на этот раз я тоже не смог получить к ним доступ через PHP.

Вот мой индекс php:

<?php
include "/LIBS/route.php";
$route = new Route;
$route->init();

Вот мой маршрутизатор

<code><?php
class Route {
    // Prints the URL array
    public function init()
    {
        echo '<pre>' . var_export($this->_getUrl(), true) . '
';} // получает текущий URL и возвращает массив закрытой функции _getUrl () {$ url = isset ($ _ GET ['url'])?$ _GET ['url']: null;$ url = rtrim ($ url, '/');$ url = filter_var ($ url, FILTER_SANITIZE_URL);$ url = explode ('/', $ url);вернуть $ url;}}

А вот и мой файл htaccess

php_flag display_errors on
php_value error_reporting 9999

RewriteEngine On
RewriteBase /mvc/

# DirectoryIndex none.none
# Options -Indexes

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

Существует своего рода соответствующий вопрос SO здесь , который не 'Кажется, это и есть ответ на мой вопрос.

Я копался везде, но не мог найти ответ.Чего мне не хватает?

Спасибо

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