【问题标题】:Magento multistore with htaccess rewrites for different domainsMagento 多存储,具有针对不同域的 htaccess 重写
【发布时间】:2015-04-10 16:06:17
【问题描述】:

我们有一个旧的电子商务网站从 PrestaShop 安装转移到新的 Magento 设置/安装。

当我们采取这一举措时,我们在新的 Magento 服务器上的 htaccess 中添加了大量 301 重写,以反映所有更改的 url。

这是完美无缺的,但现在我们想在这个新的 Magento 安装上移动并添加另一个域并设置一个多存储环境。

我们如何才能使这些新的 301 规则,对于这个新域,只在访问新域时运行,并且不干扰之前的重写,对于原始域?

这基本上就是我们现在所拥有的:

# OLD DOMAIN REWRITE RULES ON MAGENTO SERVER
RewriteRule ^oldurl1.html(.*)$      /new-nice-url1/?    [R=301,NC,L]
RewriteRule ^oldurl2.html(.*)$      /new-nice-url2/?    [R=301,NC,L]
RewriteRule ^oldurl3.html(.*)$      /new-nice-url3/?    [R=301,NC,L]
...

这是我们一直在尝试添加的内容:

# NEWLY ADDED DOMAIN TO MAGENTO MULTISTORE ENVIRONMENT
RewriteCond %{HTTP_HOST} ^www\.newdomain\.com
RewriteRule ^newdomain-old-url1.html(.*)$       /new-domain-url1/?   [R=301,NC,L]
RewriteRule ^newdomain-old-url2.html(.*)$       /new-domain-url2/?   [R=301,NC,L]
RewriteRule ^newdomain-old-url3.html(.*)$       /new-domain-url3/?   [R=301,NC,L]
...

但这似乎不起作用。

【问题讨论】:

  • 您能否提供一个示例输入和一个预期的重写示例?
  • 这对我来说有点难以解释,但如果在一个或另一个中找到完全相同的规则,则首先处理该规则。我们担心这可能会导致将来出现奇怪的怪癖。其中一些规则应该在访问新域时运行。
  • 你能不能在旧的域规则中也添加一个 HTTP_HOST 上的 RewriteCond 吗?

标签: php apache .htaccess magento mod-rewrite


【解决方案1】:

从您的问题和 cmets 看来,您似乎想隔离不同域的重写规则。尝试在每个 RewriteRule 块上方使用 RewriteCond,如下所示:

# OLD DOMAIN REWRITE RULES ON MAGENTO SERVER
RewriteCond %{HTTP_HOST} !^(www\.)?newdomain\.com
RewriteRule ^oldurl1.html(.*)$      /new-nice-url1/?    [R=301,NC,L]
RewriteRule ^oldurl2.html(.*)$      /new-nice-url2/?    [R=301,NC,L]
RewriteRule ^oldurl3.html(.*)$      /new-nice-url3/?    [R=301,NC,L]

# NEWLY ADDED DOMAIN TO MAGENTO MULTISTORE ENVIRONMENT
RewriteCond %{HTTP_HOST} ^(www\.)?newdomain\.com
RewriteRule ^newdomain-old-url1.html(.*)$       /new-domain-url1/?   [R=301,NC,L]
RewriteRule ^newdomain-old-url2.html(.*)$       /new-domain-url2/?   [R=301,NC,L]
RewriteRule ^newdomain-old-url3.html(.*)$       /new-domain-url3/?   [R=301,NC,L]

您也可以使用此条件来保留旧的域重写:

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com

请随时在线.htaccess tester 试用这些规则。

【讨论】:

    猜你喜欢
    • 2014-06-14
    • 2021-12-25
    • 2012-10-29
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    相关资源
    最近更新 更多