2012-06-02 2 views
0

Я развернула приложение на Heroku, и я использовал папку, чтобы поместить все мои файлы внутри, таким образом, теперь мое приложение только подъезд с:точка в виртуальный каталог

http://myapp.heroku.com/app/ 

Можно ли создать виртуальный корень точка

http://myapp.heroku.com -> http://myapp.heroku.com/app/ ? 

Что-то похожее на Apache VirtualHost ?:

<VirtualHost 10.1.2.3> 
    ServerAdmin [email protected] 
    DocumentRoot /www/docs/host.foo.com 
    ServerName host.foo.com 
    ErrorLog logs/host.foo.com-error_log 
    TransferLog logs/host.foo.com-access_log 
</VirtualHost> 

Спасибо заранее.

ответ

2

Да, вы также можете настроить apache, однако для этого вам нужны некоторые изменения в вашей системе.

Я составил блоге недавно, что показывает это (как последняя часть), он также показывает, как вы можете составить свои собственные расширения PHP для Heroku:

PHP on Heroku, again (by hakre; 20 May 2012)

Это в основном работает путем расширения стандартной конфигурации с дополнительными настройками в другом файле. Ищите Настройка секции Webroot, вот где она начинается:

Теперь наступает следующая сложная часть, указав WebRoot. Указание webroot требует немного дополнительной информации о работе и справочной информации. Приложением CVBacklogs webroot в git-дереве является src/app/public. Для Heroku, по умолчанию, webroot является корнем дерева git. Этот каталог внутренне отображается на /app/www. Так что это нужно, чтобы создать так называемый Procfile, который запускает код sh каждый раз, когда начинается веб-узел приложения Heroku. Затем этот скрипт изменяет конфигурацию Apache и включает в себя вашу собственную конфигурацию, которая устанавливает веб-сайт в /app/www/src/app/public. Таким образом, мы создаем procfile, каталог конфигурации, скрипт и конфигурацию Apache. Готов?

+0

Большое спасибо. Это потрясающе. Еще раз спасибо. – glarkou

0

Вы не можете ничего сделать с конфигурацией Apache/Nginx на Heroku - все это не поддается контролю. Вы могли бы сделать какую-то переадресацию на основе php в корневой папке в папку/app или, наоборот, rejig repo, поэтому приложение является верхним уровнем.

+0

Неправильно, стек кедр позволяет изменять настройки Apache, см [мой ответ] (http://stackoverflow.com/a/10865955/367456) – hakre

+0

Стою исправлен - это очень круто! –

+0

В случае, если это невозможно (например, старая/другая платформа/стек), можно подделать это с помощью '.htaccess' и если' mod_rewrite' доступен. Часть этого заключается в том, чтобы замаскировать файлы '.htaccess' как 404, вы найдете здесь соответствующий вопрос: [Запросы .htaccess должны возвращать 404 вместо 403] (http://stackoverflow.com/q/7945795/367456) другой часть, которую я не смог найти быстро. – hakre

Смежные вопросы