Ich habe WordPress Seite mit WPML Eingerichtet. Ich habe in letzter Zeit 2 Dinge gemacht:
- Verschieben Sie „Nur HTTP“ in „Nur HTTPS“.
- Bewegen http://domain.pl zu https://domain.xyz (Englisch)
- Bewegen http://domain.pl/pl zu https://domain.pl (Polieren)
Dies geschieht, um SEO zu verbessern. Aber während ich das ohne große Probleme zum Laufen gebracht habe, verwende ich:
# BEGIN HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
#RewriteCond %{HTTPS} !^on$
#RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>
# END HTTPS
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Im apache.conf Datei ServerName domain.xyz, ServerAlias domain.pl www.domain.pl
usw. Ich habe Probleme mit den meisten meiner alten Blog-Beiträge, die in unterschiedlicher Form im Internet kursieren. Zum Beispiel:
- Dieser kleine Eintrag http://domain.pl/email-address-policy/ leitet richtig um https://domain.xyz/email-address-policy/
- Dieser kleine Eintrag http://domain.pl/powershell-write-host nicht. Es geht einfach zu https://domain.pl/powershell-write-host das ist 404 und das war’s.
Es scheint das letzte / macht einen großen Unterschied.
Ich habe geplant, alle Weiterleitungen in sogar direkter Form 1 zu 1 zu einer neuen Domain hinzuzufügen, aber da es teilweise funktioniert, teilweise nicht, bin ich irgendwie verloren … und ich bin mir nicht sicher, wie ich sie richtig übersetzen könnte.
BEARBEITEN:
Ich habe mehrere Optionen ausprobiert, sogar eine, die angeblich alle Links so umschreibt, dass sie mit / enden, und es schlägt immer noch fehl.
# BEGIN HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#RewriteCond %{SERVER_PORT} ^80$
#RewriteCond %{HTTPS} !^on$
#RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
#RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
#RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
#RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} !^on$
#RewriteRule (.*) https://evotec.xyz/$1 [R=301,L]
#RewriteRule (.*) https://%{SERVER_NAME%}/$1 [R=301,L]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_URI} !(.*)/$
#RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301]
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpg|png|jpeg|css|js)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301]
</IfModule>
# END HTTPS
Eine weitere Aktualisierung:
- https://domain.xyz/url-ist-hier – funktioniert korrekt
- https://domain.xyz/url-ist-hier/ – funktioniert korrekt
- https://domain.pl/url-ist-hier – geht nicht, wird nicht umgesetzt https://domain.xyz/url-ist-hier/
- https://domain.pl/url-ist-hier/ – Konversiert richtig https://domain.xyz/url-ist-hier/
Es funktioniert also nicht ganz nicht für alle Schrägstriche gegen Nicht-Schrägstriche. Es geht mehr um eine Art Übersetzung, die nicht stattfindet, wenn sie auf eine alte Domain verweist.
Ich habe versucht, Redirect Checker zu verwenden, um zu sehen, wie es funktioniert (am richtigen Beispiel), aber ich kann daraus keine Bedeutung machen.
http://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1 301 Dauerhaft umgezogen
https://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1/
301 Dauerhaft umgezogen
https://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1/
200 okay
http://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1/ 301 Dauerhaft umgezogen
https://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1/
200 okay
https://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1
404 Nicht gefunden
Je mehr Optionen ich ausprobiere, desto seltsamer wird es. Während der RedirectChecker eine Sache zu zeigen scheint … Browser verhält sich etwas anders und funktioniert beim ersten Eintrag sowieso nicht und verursacht sofort 404
Bearbeiten:
Wenn ich nur “WordPress”-Daten hinterlasse, gilt Folgendes:
- http://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1
bekommt 404 http://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1 genau so wie es ist - http://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1/ bekommt https://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1/
- https://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1 bekommt 404 genau so wie es ist
Es funktioniert nur richtig, wenn ich die richtige/neue Domain verwende, dann funktioniert alles richtig:
- https://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1
- https://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1
- http://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1
- http://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1/
Ich denke, wenn ich es nicht umleiten kann, werde ich es so lassen, wie es ist, und einfach aufgeben.
Sieht nach einem Problem mit der DirectorySlash-Direktive aus. Überprüfen Sie dies Verknüpfunges könnte helfen.
– Felipe Alameda A
8. August 2016 um 8:14 Uhr
ich habe meinen Beitrag aktualisiert. Es scheint nicht so zu sein, da die Slash-Direktive des Verzeichnisses teilweise zu funktionieren scheint.
– Verrückter Junge
8. August 2016 um 8:40 Uhr
Können Sie alle Regeln aus .htaccess entfernen und nur die Standard-WP-Regel dazwischen behalten
# BEGIN WordPress
und# END WordPress
. Löschen Sie dann Ihren Browser-Cache vollständig und geben Sie dann alle 4 URLs ein, um zu sehen, auf welche noch weitergeleitet wirdhttps://domain.xyz/<url>
– anubhava
11. August 2016 um 10:25 Uhr
Tat dies. Hauptbeitrag aktualisiert.
– Verrückter Junge
11. August 2016 um 15:01 Uhr