Bem, @hellekin achou que isso merecia seu próprio tópico. Não tenho certeza se está pronto para isso, mas aqui está. Vou dar uma olhada nas coisas no início da próxima semana e tentar garantir que pareça algo que outras pessoas possam realmente usar.
Adicionei uma configuração do Nginx para corresponder ao arquivo HTML:
location = /TransHack_·Xist·nce… {
default_type text/html;
alias /srv/www/zoethical.org/thx/home.html;
}
Chamar o arquivo diretamente funciona, mas acessar https://thx.zoethical.org falha. Como notei uma verificação em permalinks, tentei adicionar um permalink para /. Mas também não funcionou. Isso pode ser um problema de cache?
Edição: Acho que pode ser devido ao fato de a instância exigir login (SSO), então há uma falha nesse caso. Posso estar disposto a fazer mais testes, incluindo abrir um pouco mais a instância. Após deixar o site público, ainda recebo “Ops! Essa página não existe ou é privada.” ao acessar a página inicial. Alguma ideia do porquê?
Ah, então o arquivo deve ser o padrão — geralmente index.html?
De fato, funciona! O componente espera que a URL seja um arquivo index, certo?
Bastou renomear meu home.html para index.html e alterar a configuração do Nginx para:
# mais configuração...
root /srv/www/zoethical.org/thx;
index index.html; # <- isso é importante
location = /TransHack_·Xist·nce… {
default_type text/html;
alias /srv/www/zoethical.org/thx/index.html; # <- e corresponde
}
location / {
# mágica do nginx para tentar o arquivo local antes de fazer o proxy...
try_files $uri $uri/ $uri.html @discourse;
}
location @discourse {
# proxy normal do Discourse
}
Então, para resumir…
Se você estiver usando uma página estática no mesmo site que a instância do Discourse, certifique-se de que seu servidor web leia o(s) arquivo(s) estático(s) — por exemplo, CSS relacionado — antes de encaminhar as solicitações para o Discourse. Tadaa!
Na verdade, um bug persiste: embora acessar a URL https://thx.zoethical.org funcione externamente, ao clicar no logotipo dentro do Discourse, a página sobrescrita não é carregada novamente. Notei uma verificação de permalink, então tentei várias opções, todas sem sucesso:
criar um permalink de https://thx.zoethical.org para /index.html
criar um permalink de https://thx.zoethical.org para /TransHack_·Xist·nce…
combinar esses com um permalink de /index.html para /TransHack_·Xist·nce…
remover o redirecionamento para /TransHack_·Xist·nce… na configuração do frontend
criar um permalink custom_url e apontá-lo para uma URL externa
Acho que o problema ocorre porque o script não tenta recarregar todo o aplicativo ao clicar no logotipo, mas espera que um link interno esteja vinculado ao caminho superior.
Espero que, quando o homepage_url_override ou um permalink (por exemplo, custom_url) aponte para uma URL absoluta, a página seja totalmente recarregada.