说,我的网站是:www.example.com

我有一页:www.example.com/contactus

如果我删除“ www”。从上面的URL,含义:example.com/contactus

它将我重定向到主页。为什么 ??

结帐以下图像.htaccess:

enter image description here

解决方案是什么?

我必须在.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

谢谢,

谢里夫

许可以下: CC-BY-SA归因
scroll top