Я не знаю, что такое возможно или нет, но давайте попробуем. В прошлом (более трех лет назад) я узнал о таком решении (не знаю точно, как это), в одном учебнике MVC.
Структура каталога
Что я хочу сделать?
 Когда пользователь обращается к http://www.mysite.com/a/b/c/ , перенаправляет все запросы на страницу /public/index.php .  т.е. все запросы на веб-сайт будут проходить через страницу /public/index.php , кроме images/ , js/ и css/ каталогов, которые public/ . 
  Кроме того, http://www.mysite.com/includes/ будет перенаправляться на страницу index.php , а get includes/ как $query . 
Страница Index.php
 <?php // get init file from webroot directory, which will load all required php files. define ('ROOT', dirname(dirname(__FILE__))); require_once (ROOT . 'init.php'); // get query from url (here, $query = "a/b/c/") if(isset($_GET['q'])) { $query = $_GET['q']; } // insert images, css etc. resource echo "<img src='http://www.mysite.com/images/foo.jpg' />"; echo "<script src='http://www.mysite.com/js/bar.js'></script>"; ?> 
Это будет полезно для тех, кто использует веб-хостинг, который не обеспечивает однократный доступ к каталогу веб-сайта.
РЕДАКТИРОВАТЬ
Хорошо, я нашел сайт, откуда я получил эту концепцию. См. Два файла .htaccess, используемые в корневом каталоге и в общедоступном каталоге. Ссылка на учебник MVC
  Я предполагаю, что .htaccess находится в WebRoot . 
  Чтобы переписать все запросы, вы просто используете RewriteRule .  Если вы хотите исключить некоторые пути, вы используете один или несколько RewriteCond 
 RewriteEngine on RewriteCond %{REQUEST_URI} !/images/ RewriteCond %{REQUEST_URI} !/css/ RewriteCond %{REQUEST_URI} !/js/ RewriteCond %{REQUEST_URI} !/public/index\.php RewriteRule .* public/index.php?q=$0 [L,QSA] RewriteRule ^images/.+ public/$0 [L] RewriteRule ^js/.+ public/$0 [L] RewriteRule ^css/.+ public/$0 [L] 
  Флаг QSA добавляет любую другую существующую строку запроса в качестве аргументов index.php .  Если вы не хотите добавлять существующую строку запроса, просто оставьте флаг QSA . 
  Если вы хотите, чтобы переписывание было видимым для клиента, вы должны добавить флаг R в RewriteRule , то есть [R,L,QSA] или [R,L] . 
Вы можете использовать другие трюки, где ваша страница не будет перенаправлена на другую страницу, но вы ограничите другого пользователя, чтобы увидеть индекс каталога
 Options -Indexes 
  Добавьте этот текст в ваш .htaccess файл, он сгенерирует 403-х ошибок (запрещено)