Вопрос прост. Как заставить примеры на этой странице работать, когда приложение развернуто на сервере Apache, если вы не запускаете из корневого каталога? Я в основном хочу, чтобы apache перенаправлял каждый запрос в файл .wsgi в корневой папке.
Вот более подробное описание того, чего я пытаюсь достичь.
У меня есть приложение Flask (на самом деле Dash plotly), которое корректно работает в режиме разработки, то есть когда я запускаю run.py напрямую. То, что он делает, это действует как браузер данных. Вы можете просматривать множество подпапок в интерфейсе и просматривать некоторые данные. Как это настроить, когда я нажимаю на одну из подпапок, URL-адрес изменяется, например, с www.server.com/ на www.server.com/folder1/subfolder2. Обратите внимание, что эта структура папок не существует в каталоге приложения. Он существует на удаленном компьютере.
В режиме разработчика, несмотря на то, что URL-адрес изменяется на что-то с некоторыми папками в нем, основная функция python по-прежнему обрабатывает запрос и внутренне знает, как найти подпапку. Когда я развернул это на apache, apache ищет папку 1 / subfolder2 в корневом каталоге каталога приложения и, конечно, не находит ее.
Если я запускаю приложение, я могу просматривать папки, потому что веб-страница не обновляется. Но если я скопирую URL-адрес, который указывает на определенный набор данных, и вставлю его в браузер, apache обработает этот URL-адрес и захочет найти указанные подпапки, но не сможет его найти. Я вижу сообщение "Not Found. Запрошенный URL / folder1 / subfolder2 не найден на этом сервере".
Есть ли способ, чтобы файл .wsgi или файл run.py обрабатывал все запросы, направленные на виртуальный хост, на котором запущено мое приложение.
В настоящее время мой apache настроен для этого виртуального хоста следующим образом:
<VirtualHost *:8082>
DocumentRoot "/srv/dataview"
ServerName machinename.domainname.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mycert.crt
SSLCertificateKeyFile /etc/ssl/private/mykey.key
WSGIScriptAlias / /srv/dataview/dataview.wsgi
<Directory />
Order allow,deny
Allow from all
Require all granted
# WSGIProcessGroup dataview
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
FallbackResource dataview.wsgi
DirectoryIndex dataview.wsgi
</Directory>
ErrorLog /srv/dataview/logs/error.log
Alias /* /
</VirtualHost>
Две строки, начинающиеся с FallbackResource и DirectoryIndex, предназначены для решения этой проблемы, но они этого не сделали.
Любая помощь приветствуется.