Redirigée vers la page d'accueil lorsque www enlevé. depuis l'URL
-
16-10-2019 - |
Question
Dis, mon site Web est: www.example.com
J'ai une page: www.example.com/contactus
Si je retire "www." depuis l'URL ci-dessus, des moyens: example.com/contactus
Il me redirige vers la page d'accueil. Pourquoi ??
Commander l'image suivante de .htaccess:
Quelle est la solution pour elle ??
Quels sont les changements que je dois faire dans .htaccess
La solution
Votre htaccess est un peu difficile à lire, mais rien ne semble rediriger l'utilisateur, je pense qu'il est votre baseurl Magento qui fait cela.
Avez-vous essayé d'ajouter le code suivant au htaccess pour rediriger vers www. à ce niveau?
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Autres conseils
Il y a un paramètre Système-> Configuration-> Web-> Url Options-> redirection automatique à l'URL de base . Réglez que sur 'Non'.
Opinion personnelle: Ce paramètre est une grande source d'ennuis spécialement lors de l'exécution de plusieurs sites de la même instance de magento. Désactiver toujours.
est la seule question que je trouve avec Google selon cette question.
Voici ma solution pour nginx comme proxy inverse apache. Je suis en magento 1.8.0.0 comme multisite. J'ai aussi multi-domaine SSL installé. Je l'ai désactivé et essayé de faire avec redirect config .htaccess (comme le suggère Sander Mangel), mais je me suis retrouvé avec une boucle de redirection sur https: // pages.
En cas de Nginx configuré comme proxy inverse pour apache ensuite essayer de modifier nginx fichiers vhost comme ceci:
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
}
Ensuite, redémarrez nginx (comme le redémarrage du /etc/init.d/nginx)
Qu'il. 301 Redirect devrait fonctionner sur toutes les pages redirigeant www non-www
Merci,
Sharif