В проекте django, над которым я работаю, у меня есть страница администратора. По косметическим соображениям я хочу, чтобы admin.domain.com
указывал на domain.com/admin
.
Мой сервер работает под управлением apache2. Я попробовал две вещи, используя mod_proxy и mod_rewrite:
<virtualHost *:443>
<Location />
ProxyPass "domain.com/admin/"
ProxyPassReverse "domain.com/admin/"
<Location>
"other settings not relevant for this question"
</virtualHost>
и
<virtualHost *:443>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^admin2\.sun\.snt\.utwente\.nl [NC]
RewriteRule ^(.*)/?$ https://dev.sun.snt.utwente.nl/admin/$1 [L]
"other settings not relevant for this question"
</virtualHost>
Используя виртуальный хост mod_proxy
, я получаю ошибку
Page not found (404)
Request URL: "domain.com/admin/admin/"
При использовании виртуального хоста mod_rewrite
я не получаю сообщение об ошибке, но перенаправлен на domain.com/admin//
. Это работает независимо от двойной косой черты на конце. Однако URL в браузере больше не является admin.domain.com
.
Эти вопросы о стековом потоке актуальны, но не дают ответа, который я ищу, либо потому, что они отвечают на несколько другой ответ, либо из-за других ограничений в проекте.
Администратор Django на другом домене
Обслуживание сайта администрирования Django на поддомене
Использование поддоменов в django
Возможно, актуально:
Мои настройки имеют файловую структуру, как в ответе Django, чтобы использовать другой файл settings.py на основе поддоменов .
Я запускаю django 2.1, используя wsgi в apache2.
Актуальный вопрос:
Как мне установить мои настройки apache, чтобы admin.domain.com
работал как domain.com/admin
?
Если вам нужен дополнительный контекст или какой-то код, я могу это предоставить.