Подтвердить что ты не робот

Скрыть родительский каталог/www

Я загружаю свой проект, содержащий папки со всеми скриптами, PHP, CSS и т.д. и index.html

Скажем, URL-адрес выглядит следующим образом: www.mydomain.com/project/web/index.html

Внутри родительской папки "project" все мои файлы видны и легко доступны для загрузки (чего они не должны), если они просто вводят www.mydomain.com/project/

Вопрос: Есть ли способ Скрыть все родительские папки и документы и сделать доступным только мой /index.html?

Мой сервер не является Apache, поэтому я не могу настроить файл .htaccess и строить правила, чтобы скрыть/перенаправить и вернуть страницу ошибки 404.

4b9b3361

Ответ 1

Вы можете настроить index.html в папке проектов или в любой другой папке, в которой вы не хотите иметь доступ.

Затем на этих страницах index.html вы можете добавить перенаправления, чтобы направить пользователя на свою настоящую домашнюю страницу. Вы поместите этот код в начало этого index.html

<meta http-equiv="refresh" content="1; url=www.mydomain.com/project/web/">
        <script type="text/javascript">
            window.location.href = "www.mydomain.com/project/web/"
        </script>

Я по-прежнему считаю, что лучший способ - использовать .htaccess. Но если у вас нет другого выбора, это будет работать для доступа на основе папок.

Это не помешает людям напрямую обращаться к файлу, например www.mydomain.com/project/file.txt

Ответ 2

Собственно, ваш сервер Apache.

Это из их документации:

В чем разница между старыми и новыми веб-серверами? В операционной системе на всех новых веб-серверах работает Debian 8 Jessie, начиная с Debian 7 Wheezy.

Apache обновляется с Apache 2.2 до Apache 2.4. Если вы используете свой собственный .htaccess файл (особенно accesscontrol) в вашем веб-отеле, возможно, его нужно будет обновить. Проверьте документацию Apache для получения дополнительной информации.

Теперь мы используем uWSGI для запуска PHP вместо suPHP (mod_suphp).

Ссылка на документацию: FAQ

Ссылка на rewrite_mod для Apache 2.4 Apache 2.4

Ответ 3

Вы можете попробовать мою идею.

  • Создайте файл index.html или index.php внутри папки, к которой вы не хотите, чтобы пользователь мог получить доступ, например, в папке project; поэтому, когда пользователь пытается посетить www.mydomain.com/project и увидеть содержимое, вместо него будет отображаться index.html. ИЛИ
  • Создайте условие, в котором redirect пользователь должен index.html использовать php или JavaScript.

Ответ 4

Есть несколько способов решить эту проблему.

Вы можете попробовать использовать структуру папок, например, Laravel, настройка MVC (Model-View-Controller) может ограничивать просмотр только определенных запросов.

Следуя шаблону REST. Если кто-то ходит в

mydomain.com/project //Returns 404 error

Контроллер для /project должен быть определен, если он не определен, он выдает ошибку 404

Аналогично, если вы только определяете представление проекта, например

Route::get('project', 'This is the project page');

Это единственный способ получить доступ к директории /project, я бы предложил вам узнать о шаблонах REST и следовать руководству MVC/MTV.

Ответ 5

На вашем сервере запущен PHP, по крайней мере, по вашему вопросу. Это означает, что вы, скорее всего, сделали что-то не так. Но, как прокомментировал Волошин, вам нужно расширить свой вопрос. Честно скажите свой PHP, чтобы проверить, есть ли у вас ссылка, которая просто говорит "./" вместо "index.html". Если у вас нет чего-то подобного, проверьте все ваши теги <a href="link" /> link </a>, чтобы убедиться, что вы там не напортачили. Все самое лучшее с вашим кодом!