Frage

Sagen Sie, meine Website ist: www.example.com

Ich habe eine Seite: www.example.com/contactus

Wenn ich "www" entferne. Aus der obigen URL bedeutet: Beispiel.com/Contactus

Es leitet mich auf die Homepage um. Warum ??

Checkout folgt nach .htaccess:

enter image description here

Was ist die Lösung dafür?

Welche Änderungen muss ich in .htaccess vornehmen

War es hilfreich?

Lösung

Ihr Htaccess ist ein bisschen schwer zu lesen, aber nichts scheint den Benutzer umzuleiten. Ich denke, es ist Ihr Magento Baseurl, der das tut.

Haben Sie versucht, den folgenden Code zum HTAccess hinzuzufügen, um nach www zu leiten? Auf dieser Ebene?

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Andere Tipps

Es gibt eine Einstellung in System-> Konfiguration-> Web-> URL-Optionen-> automatisch-redirect zu Basis-URL. Stellen Sie das auf "Nein" ein.

Persönliche Meinung: Diese Einstellung ist eine große Schwierigkeitsquelle, insbesondere beim Ausführen mehrerer Websites aus derselben Magento -Instanz. Ich deaktiviere es immer.

Dies ist die einzige Frage, die ich bei Google gemäß diesem Problem gefunden habe.

Hier ist meine Lösung für Nginx als Reverse -Proxy zu Apache. Ich leite Magento 1.8.0.0 als Multisite. Ich habe auch Multi -Domain -SSL installiert. Ich habe es deaktiviert und versucht, mit .htaccess config (wie Sander Mangel vorgeschlagen) weiterzuleiten, aber ich habe mit der Weiterleitungsschleife auf https: // Seiten ausgearbeitet.

Wenn Nginx als Reverse -Proxy zu Apache eingerichtet ist, versuchen Sie, Nginx Vhost -Dateien wie folgt zu bearbeiten:

server {
listen 80;
listen 443 ssl;
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
ssl_certificate     /path/to/your/ssl/domain.crt;
ssl_certificate_key /path/to/your/ssl/domain.key;
ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers         HIGH:!aNULL:!MD5;
ssl_session_cache    shared:SSL:10m;
ssl_session_timeout  10m;
}
server {
listen 80;
listen 443 ssl;
server_name domain.com;
ssl_certificate     /path/to/your/ssl/domain.crt;
ssl_certificate_key /path/to/your/ssl/domain.key;
ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers         HIGH:!aNULL:!MD5;
ssl_session_cache    shared:SSL:10m;
ssl_session_timeout  10m;
.... // the rest of config goes here
}

Dann starten Sie Nginx neu (wie /etc/init.d/nginx neu starten)

Dass es. 301 Umleitung sollte auf jeder Seite funktionieren, die www auf non-www weiterleitet

Vielen Dank,

Sharif

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top