Я установил приложение Zend в подкаталог. Не спрашивайте, почему я просто должен был сделать это так (не мой предпочтительный метод), но у меня нет такого выбора. Приложение Zend находится в подкаталоге dsa.
http://dsa.dev/dsa 
Мой .htaccess
 RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*)$ public/index.php [QSA,L] 
Это работает и будет загружать приложение. Я могу пойти в мои корневые каталоги и другие каталоги для других вещей без каких-либо проблем.
В моем приложении application.ini я установил
 resources.frontController.baseUrl = "/dsa". 
В моем файле layout.phtml, если я var_dump путь, он выглядит так.
 var_dump($this->baseUrl('css/main.css')); http://dsa.dev/dsa/css/main.css 
Ни одна из ссылок не работает, все файлы css и js не связаны правильно. Если вы нажмете F12 и посмотрите на них, вы получите 404, не найденный для какого-либо файла. Что мне нужно сделать, чтобы получить правильные пути для отображения файлов. Это первый раз, когда я попытался установить zend в подкаталог, и, очевидно, я не делаю что-то правильно. Я прочитал все, что могу найти по этому вопросу. Спасибо за помощь.
  По крайней мере, одна проблема, я вижу, что правила перезаписи в файле .htaccess неверны. 
Учитывая эти правила:
 RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*)$ public/index.php [QSA,L] 
Эти правила приравниваются к:
  RewriteCond %{REQUEST_FILENAME} -s [OR] # Запрос – это обычный файл с размером> 0 RewriteCond %{REQUEST_FILENAME} -l [OR] # Запрос – это файл, который является символической RewriteCond %{REQUEST_FILENAME} -d [OR] # Запрос – это каталог, который существует 
  И если какое-либо из приведенных выше значений истинно, запрос переписывается в public/index.php что неверно.  Если запрос предназначен для файла, который существует на диске, вы НЕ хотите его переписывать;  вместо этого вы просто хотите обслуживать этот файл. 
  Правильный файл .htaccess должен выглядеть примерно так: 
 RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ public/index.php [NC,L] 
  Это говорит о том, что если запрос предназначен для файла с размером> 0, каталога или символической ссылки, затем направьте запрос на запрашиваемый файл ( RewriteRule ^.*$ - ).  Если ни одно из этих условий не является истинным, перепишите запрос на index.php. 
  В отдельном примечании я бы пошел и полностью избавился от public каталога.  Возьмите содержимое public и поместите их в /dsa .  dsa теперь является вашей public папкой.  Вы можете хранить каталог application любом месте системы или если вы должны поместить его в папку dsa из-за ограничений файловой системы, обязательно добавьте правило в свой файл .htaccess который лишает всех доступа к папке application .  Затем вам просто нужно быстро внести изменения в файл index.php указав правильный путь к application используя константу APPLICATION_PATH . 
Я считаю, что эти два изменения должны решить ваши проблемы.
  Попробуйте установить RewriteBase /dsa в свой .htaccess.