Как перенаправить все попытки доступа к папке на индекс, кроме сервера? - PullRequest
0 голосов
/ 25 марта 2019

Я создаю новый веб-сайт.

Структура этого веб-сайта:

root
├─ .htaccess
├─ Index.php
└─ Data
   └─Logo.png

Моя индексная страница содержит:

<html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <img src="Data/Logo.png" alt="logo" height="42" width="42"> 
    </body>
</html>

И мой.htaccess:

ErrorDocument 404 https://www.example.com/

RewriteEngine On
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

Options +SymLinksIfOwnerMatch 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteEngine On 
RedirectMatch 404 ^/Data/.*$ 

Моя проблема:

Если в файле .htaccess я установил RedirectMatch 404 ^/Data/.*$, то ни один посетитель не сможет получить доступ к example.com/Data/Logo.png, но index.php не сможетпоказать изображение.

Если в файле .htaccess я установил RedirectMatch 404 ^/Data/?$, то Index.php может показать изображение, но любой посетитель может получить доступ к example.com/Data/Logo.png

Я хочу /Data для хранения изображений, функций php, стилей и любого другого класса.

Мой вопрос:

Как мне настроить файл htaccess, чтобы запретить доступ всем посетителям, но разрешить Index.php(и любая другая страница на сайте) для доступа к этой папке?

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