it-swarm.com.de

URL ohne WWW-Weiterleitung direkt mit Übermittlungsseite - Multiwordpress-Installation

Dies ist eine mit Wordpress zusammenhängende Frage, da das Problem von einer Mehrfachinstallation von Wordpress herrührte. Es hängt aber auch mit der Serverseite zusammen, mit .htaccess

Mein Problem ist : Wenn ein Benutzer meine URL ohne WWW eingibt, wird er zu einer Übermittlungs-URL weitergeleitet und zum Anmelden aufgefordert. Von https://mister-tea.fr zu einer URL wie dieser https://www.fixie-lille.fr/wp-signup.php?new=mister-tea.fr statt https://www.mister-tea.fr

Ich möchte es wirklich nicht, ich möchte nur, dass der Benutzer zu derselben Domain und derselben URL mit WWW umgeleitet wird.

Meine Hauptdomain ist https://www.fixie-lille.fr (Fr website)

Die Regel könnte funktionieren:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_Host} ^fixie-lille.fr$
RewriteRule (.*) https://www.fixie-lille.fr/$1 [R=301,L]
</IfModule>

Aber es bricht andere Website.

Ich habe versucht, einige Regeln in .htaccess zu verwenden, aber es scheint nicht zu funktionieren. Alle meine Websites verwenden WWW Domains und sind ohne WWW nicht verfügbar.

Außerdem verwende ich diese Regel, um Benutzer zwischen http und https umzuleiten

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]

Kann die folgende Regel eine Störung verursachen?

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Ansonsten funktioniert alles einwandfrei mit mehreren Wordpress in nur einer Installation.

Vielen Dank im Voraus, ich stehe zu Ihrer Verfügung, um weitere Fragen zu beantworten

1

Da Sie über mehrere Domains verfügen, können Sie die Domain nicht in die Umleitung selbst aufnehmen, um eine generische Umleitung zu erstellen, die allen Anforderungen gerecht wird (was Sie vermutlich auch tun möchten). Sie müssen auch sicherstellen, dass die Anweisungen in der richtigen Reihenfolge sind.

Da alle Ihre Sites die Unterdomäne www verwenden, versuchen Sie stattdessen Folgendes. Dies setzt jedoch voraus, dass Sie keine anderen Unterdomänen haben.

RewriteEngine On

# non-www to www (and HTTPS)
RewriteCond %{HTTP_Host} !^www\.
RewriteRule (.*) https://www.%{HTTP_Host}/$1 [R=301,L]

# HTTP to HTTPS 
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]

# WordPress directives follow...

Die Umleitung von Nicht-WWW nach WWW testet nun, ob der angeforderte Host www nicht startet. Und wenn nicht, stellen Sie es einfach voran.

Die RewriteEngine-Direktive muss nicht wiederholt werden, und die <IfModule mod_rewrite.c>-Wrapper in Ihren benutzerdefinierten Direktiven sind nicht erforderlich.

In Bezug auf Ihre HTTP-zu-HTTPS-Umleitung ist es nicht erforderlich, die RewriteRule pattern zu erfassen, wenn sie nicht in substitution verwendet wird. dh Bei Verwendung von %{REQUEST_URI} anstelle eines Rückverweises.

Leeren Sie wie immer Ihren Browser-Cache, bevor Sie den Test durchführen.

0
MrWhite