J’ai entendu parler de l’utilisation d’une redirection 301, mais j’ai du mal à trouver le répertoire de configuration Nginx sur mon serveur. Toute solution alternative ou toute aide serait grandement appréciée.
Merci @Lilly. J’aimerais savoir si les permaliens peuvent également gérer un changement de domaine complet. Pour clarifier, nous passons de abc.domain1.com à xyz.domain2.com. Le sous-domaine et le domaine changent tous les deux. J’ai lu cette discussion et je voulais confirmer :
Essayez-vous de rediriger un sujet Discourse existant vers une URL externe ? Ce n’est pas ce que les permaliens sont conçus pour faire. Je suis à peu près sûr que vous ne pouvez pas rediriger quoi que ce soit sous /t.
Si vous voulez que les personnes qui visitent https://hoidap.cheng.vn/t/cach-cua-do-nu-bao-binh-don-gian/70 2 soient redirigées vers https://cunghoangdao.info, alors je pense que votre meilleure option est de modifier le message et de dire aux gens de cliquer sur le lien pour aller sur l’autre site.
RewriteEngine On
RewriteRule ^(.*)$ https://new.example.com/$1 [R=301,L]
J’avais manqué la partie où vous ne faites que déplacer Discourse et non migrer. Puisque vous ne faites que déplacer des domaines, vous n’avez pas besoin des redirections de permaliens.
Merci @RGJ pour vos conseils. J’ai fini par faire un niveau de domaine directement auprès de notre fournisseur de noms de domaine, et cela a fonctionné. Les anciens liens redirigent correctement vers les nouveaux liens.
Voici la méthode que j’utilise pour une redirection complète après un changement de domaine. J’ai mélangé plusieurs solutions proposées sur ce forum.
Dans le fichier app.yml, à la fin, j’ajoute les blocs after_web_config et 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"
## Any custom commands to run after building
run:
- exec: echo "Beginning of custom commands"
## If you want to set the 'From' email address for your first registration, uncomment and change:
## After getting the first signup email, re-comment the line. It only needs to run once.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
Cela redirigera les anciens liens vers les nouveaux forums, sans problème SSL.