Допустим, у меня есть на сервере index.php, и только к нему есть запросы {index.php?page=name}, но при этом есть на сервере папки module, plugin, document - и в них могут быть еще файлы, однако обращение к ним не хотелось бы. Также могут быть в корневом каталоге index.htm, page.htm - к ним тоже не хотелось бы иметь доступ через адресную строку, только к index.php.
Понятное дело .htaccess - управляет всем этим, но может вы знаете какой-нибудь эффективный метод, на этом все, спасибо.
Хотелось бы отметить один нюанс для начинающих PHP-программистов.
В некоторых случаях при таком использовании mod_rewrite, скрипт будет вызываться неявно несколько раз. И если в коде скрипта до обработки строки запроса присутствуют какие-либо действия с базой данных, или другой функционал, затрагивающий важные данные — он тоже будет выполняться несколько раз, что в некоторых случаях может привести ко крайне нежелательным последствиям, не говоря уже о лишней нагрузке на сервер. {из статьи на хабре}
Знаю два варианта:
1. Ограничение с помощью веб сервера. Настройка как душе угодно. htaccess лучше не использовать, а написать все в конфиг-файле, поскольку доступ к htaccess крайне медленный.
2. Разделить все на две части, открытую и приватную: открытую часть (директорию) искользовать в качестве DocumentRoot. Приватная часть не будет доступна извне.
1) По факту, не везде можно легко настроить веб сервер, в тем более есть множество бесплатных хостингов, где точно нет тех. поддержки, а иногда даже обратной связи, чтобы настроить под себя сервер, метод не автоматизированный
2) А есть качественный пример как это применяется на приватную и открытую часть, чтобы понятно было как сделать?