Ouvi falar sobre o uso de um redirecionamento 301, mas estou com dificuldades para localizar o diretório de configuração do Nginx no meu servidor. Qualquer solução alternativa ou orientação seria muito apreciada.
Obrigado @Lilly. Gostaria de saber se os permalinks também podem lidar com uma alteração completa de domínio. Apenas para esclarecer, estamos mudando de abc.domain1.com para xyz.domain2.com. Tanto o subdomínio quanto o domínio estão mudando. Tenho lido esta discussão e queria confirmar:
Você está tentando redirecionar um tópico existente do Discourse para um URL externo? É para isso que os permalinks não foram projetados. Tenho certeza de que você não pode redirecionar nada em /t.
Se você quiser que as pessoas que visitam https://hoidap.cheng.vn/t/cach-cua-do-nu-bao-binh-don-gian/70 2 sejam redirecionadas para https://cunghoangdao.info, então acho que sua melhor opção é editar a postagem e dizer às pessoas para clicarem no link para ir para o outro site.
RewriteEngine On
RewriteRule ^(.*)$ https://new.example.com/$1 [R=301,L]
Eu perdi a parte em que você está apenas movendo o Discourse e não migrando. Como você está apenas mudando de domínio, não precisa dos redirecionamentos de permalink.
Era o que eu estava pensando originalmente, mas não consigo encontrar a pasta nginx em lugar nenhum no diretório /etc. Estou procurando no lugar errado?
Obrigado @RGJ pela orientação. Acabei fazendo um nível de domínio diretamente do nosso provedor de nomes de domínio, e isso funcionou. Os links antigos estão redirecionando para os novos links corretamente.
Aqui está o método que uso para um redirecionamento completo após uma alteração de domínio, misturei algumas soluções oferecidas neste fórum.
no app.yml, no final, adiciono os blocos after_web_config e after_ssl:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
after_web_config:
- replace:
filename: /etc/nginx/nginx.conf
from: /sendfile.+on;/
to: |
server_names_hash_bucket_size 64;
sendfile on;
- file:
path: /etc/nginx/conf.d/discourse_redirect_1.conf
contents: |
server {
listen 80;
listen 443 ssl;
server_name old-domain.com;
return 301 $scheme://new-domain.com$request_uri;
}
after_ssl:
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: " -d old-domain.com --keylength"
## Quaisquer comandos personalizados para executar após a compilação
run:
- exec: echo "Início dos comandos personalizados"
## Se você quiser definir o endereço de e-mail 'De' para o seu primeiro registro, descomente e altere:
## Após receber o primeiro e-mail de registro, comente a linha novamente. Ela só precisa ser executada uma vez.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fim dos comandos personalizados"
Ele redirecionará os links antigos para os novos fóruns, sem problemas de SSL.