删除www时,将其重定向到主页。从URL
-
16-10-2019 - |
题
说,我的网站是:www.example.com
我有一页:www.example.com/contactus
如果我删除“ www”。从上面的URL,含义:example.com/contactus
它将我重定向到主页。为什么 ??
结帐以下图像.htaccess:
解决方案是什么?
我必须在.htaccess中做出什么变化
解决方案
您的htaccess很难阅读,但似乎没有什么可以重定向用户,我认为是您的Magento Baseurl可以做到这一点。
您是否尝试将以下代码添加到HTACCESS中,以将以下代码重定向到www。在这个级别上?
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
其他提示
有一个设置 系统 - >配置 - > Web-> URL选项 - >自动还原到基本URL。将其设置为“不”。
个人意见:从同一Magento实例运行多个网站时,此设置是一个很大的麻烦来源。我总是禁用它。
这是我对Nginx作为Apache的反向代理的解决方案。我正在运行Magento 1.8.0.0作为多站点。我还安装了多域SSL。我已经禁用了它,并试图用.htaccess config(如Sander Mangel所建议的)重定向,但是我最终在https:// pages上以重定向循环进行了重定向。
如果有NGINX设置为Apache的反向代理,请尝试编辑Nginx VHOST文件:
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
}
然后重新启动nginx(例如/etc/init.d/nginx重新启动)
那。 301重定向应在每页上工作,将www重定向到非www
谢谢,
谢里夫