【问题标题】:Redirecting non mobile visitors to domain.com/home将非移动访问者重定向到 domain.com/home
【发布时间】:2014-11-11 12:54:57
【问题描述】:

我有一个 magento 商店正在运行(www.domain),我还创建了一个快速门(可通过:www.domain.com/home)。现在我还安装了一个移动主题。移动主题不在子域上,但由于 Magento 中的设计选项,Magento 可以识别移动用户并引导他们访问移动站点(也只是 www.domain.com)。

现在我想做的是,当桌面用户访问 www.domain.com 时,它们被重定向到 www.domain.com/home,而当移动用户访问时,他们将转到 www.domain.com

我尝试将以下内容添加到 Magento 根目录中的 .htaccess 文件中,但没有成功。

RewriteCond %{HTTP_USER_AGENT} ^.*(MSIE.*Windows\ NT|Lyn​​x|Safari|Opera|Firefox|Konqueror) [NC] RewriteRule ^$ home/ [左,右]

还有其他可能吗,不一定要通过.htaccess。

提前致谢

【问题讨论】:

  • but no success 是什么?你得到一个未找到的页面?它不重定向?它会将您带到手机上吗?
  • 它将所有内容重定向到家(也包括移动流量)

标签: php performance .htaccess magento redirect


【解决方案1】:

你可以使用 JS 来重定向。以下是重定向不同操作系统的示例:

<script type="text/javascript"> 

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; 
var isWin8 = ua.indexOf("windows nt 6.2") > -1;
var isBB = ua.indexOf("bb10") > -1;

if (navigator.userAgent.indexOf('iPad') != -1) {
    document.location = "http://url for ipad";
}

else if(isAndroid) {
 window.location = 'https://url for android';
}
      else if(isWin8) {
 window.location = 'http://url for win8';
}

else if(isBB)  {
     window.location = "http://url for bb";
  }

else
 {
window.location = "http://url "
 }

  </script>

【讨论】:

  • 嗨乔恩感谢您的回答。我应该把 JS 放在哪里?
  • 你试过了吗?我有一个没有内容的页面,只是重定向,所以 JS 是整个页面,没有头部等。我将它贴在普通 html 页面的头部。但是尝试错误直到你得到你想要的结果。
  • 嗨 Jon 我试过了。但是 JS 和 HTML 重定向首先加载页面,然后是重定向。所以非常感谢,所以我想我需要通过 htaccess 来完成
  • js在页面所在位置执行。因此,在执行 JS 之前,不会读取 HTML。因此,如果 JS 重定向 HTML 将永远不会被读取。我不确定为什么您认为 html 正在加载或代码在哪里,或者当您看到 html 加载时重定向有效。等等,你确定你在 apache 上吗?
  • 当我尝试通过 html 从 domain.com 重定向到 domain/home 时。 Domain.com 会加载一点,然后直接到 (domain.com/home),这会终止对 speeddoor 的使用。是的,我在 siteground 的 apache 上。我尝试了以下只是为了尝试这个概念; RewriteCond %{REQUEST_URI} !^/home/.*$ RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]RewriteRule ^(.* )$ /home/ [L,R=302] 这里发生的情况是移动设备被重定向到 /home,桌面设备被重定向到 domain.com。但我需要这个相反的方式
【解决方案2】:

我将以下内容添加到我的 .htaccess 文件中。现在发生的情况是,移动设备被重定向到 Domain.com/home,而桌面流量被定向到 domain.com。

所以关于这个功能的一些东西正在工作,但我需要这个相反..

RewriteCond %{REQUEST_URI} !^/home/.*$
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ /home/ [L,R=302]

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 2013-02-14
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多