Ich habe von der Verwendung einer 301-Weiterleitung gehört, aber ich habe Schwierigkeiten, das Nginx-Konfigurationsverzeichnis auf meinem Server zu finden. Jede alternative Lösung oder Anleitung wäre sehr willkommen.
Vielen Dank, @Lilly. Ich möchte wissen, ob Permalinks auch eine vollständige Domain-Änderung bewältigen können. Nur zur Klarstellung: Wir wechseln von abc.domain1.com zu xyz.domain2.com. Sowohl die Subdomain als auch die Domain ändern sich. Ich habe diese Diskussion gelesen und wollte bestätigen:
Versuchen Sie, ein bestehendes Discourse-Thema auf eine externe URL umzuleiten? Dafür sind Permalinks nicht ausgelegt. Ich bin ziemlich sicher, dass Sie nichts unter /t umleiten können.
Wenn Sie möchten, dass Personen, die https://hoidap.cheng.vn/t/cach-cua-do-nu-bao-binh-don-gian/70 2 besuchen, zu https://cunghoangdao.info umgeleitet werden, dann ist es meiner Meinung nach am besten, den Beitrag zu bearbeiten und den Leuten zu sagen, sie sollen auf den Link klicken, um zur anderen Website zu gelangen.
RewriteEngine On
RewriteRule ^(.*)$ https://new.example.com/$1 [R=301,L]
Ich hatte den Teil übersehen, dass Sie nur Discourse verschieben und nicht migrieren. Da Sie nur Domains verschieben, benötigen Sie keine Permalien-Umleitungen.
Vielen Dank an @RGJ für die Anleitung. Ich habe einfach eine Domain-Ebene direkt von unserem Domainnamenanbieter eingerichtet, und das hat funktioniert. Die alten Links werden korrekt zu den neuen Links umgeleitet.
Hier ist die Methode, die ich für eine vollständige Umleitung nach einer Domain-Änderung verwende. Ich habe einige Lösungen aus diesem Forum kombiniert.
In der app.yml füge ich am Ende die Blöcke after_web_config und after_ssl hinzu:
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"
## Beliebige benutzerdefinierte Befehle, die nach dem Build ausgeführt werden sollen
run:
- exec: echo "Beginn der benutzerdefinierten Befehle"
## Wenn Sie die E-Mail-Adresse 'Von' für Ihre erste Registrierung festlegen möchten, kommentieren Sie die Zeile aus und ändern Sie sie:
## Nachdem Sie die erste Registrierungs-E-Mail erhalten haben, kommentieren Sie die Zeile wieder aus. Sie muss nur einmal ausgeführt werden.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Ende der benutzerdefinierten Befehle"
Dies leitet die alten Links zu den neuen Foren um, ohne SSL-Probleme.