Вероятно, это общий вопрос, но я не смог найти на него ответ.
У меня есть PHP-приложение, использующее Zend Framework. Скажем, мы запускаем приложение под my-app
хост и исходные файлы расположены под /my-path/my-app
в локальной файловой системе. Ниже приведен конфиг Apache vhost:
<VirtualHost *:80>
ServerName my-app
DocumentRoot "/my-path/my-app/public"<Directory "/my-path/my-app/public">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
.htaccess
файл в public
Каталог содержит следующие правила перезаписи:
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Пока что все стандартно для приложений ZF.
Теперь мне нужно запустить это приложение в подпапке URL (например, foo
), то есть под http://my-app/foo/
вместо http://my-app/
,
Что мне нужно изменить, чтобы сделать эту работу? Какова лучшая практика?
Предположим, что создание URL-адресов с помощью базового URL-адреса из приложения не является проблемой. А также предположим, что приложение перепишет все URL-адреса, включая ссылки на исходные коды css / js для приложения.
Спасибо!
Итак, немного поиграв, я нашел простое решение. Все, что нужно, это просто добавить псевдоним в конфигурации Apache vhost:
<VirtualHost *:80>
ServerName my-app
DocumentRoot "/my-path/my-app/public"<Directory "/my-path/my-app/public">
AllowOverride All
Require all granted
</Directory>
Alias /foo /my-path/my-app/public
</VirtualHost>
Других решений пока нет …