magento使用细节 – 添加商店代码到Urls

在magento的设置中有个一选项是设置添加商店代码到网址(Add Store Code to Urls),我将讲下此设置的作用。本例使用magento 1.4版本。

此设置位置在System -> Configuration -> Web 中如下截图

magento添加商店代码到Urls
magento添加商店代码到Urls

此设置是在magento使用多store view(多语言店)的时候才起作用,其中store code是指在System -> Manage stores中已经存在的店视图(store view)中的store code,如下图

magento店代码
magento店代码

现假设你有三个店视图(store view,就是前台的语言切换),分别为 英文店 code为en,法语店为fr。

如果你没有开启Add Store Code to Urls此设置,你的网址没有什么特别的。你切换到不同的店(store view,就是前台的语言切换),你的地址栏可能会出现如下的网址:

http://…………/?___store=fr&___from_store=en

例如:http://127.0.0.1/lanting/index.php/electronics/cameras/olympus-stylus-750-7-1mp-digital-camera.html?___store=fr&___from_store=en

意思是说,从en(英文店)跳转到了fr(法语店)。

当你开启了Add Store Code to Urls设置后,再切换你的店视图(store view,就是前台的语言切换)

例如:

http://………/fr/electronics/cameras/digital-cameras/olympus-stylus-750-7-1mp-digital-camera.html

http://………/en/electronics/cameras/digital-cameras/olympus-stylus-750-7-1mp-digital-camera.html

注意在网址的前面多了fr和en。

这就是本文讲的设置了添加商店代码到网址(Add Store Code to Urls),这个选项后的效果。

注意:由于是对网址进行操作,设置启用后要去System -> Index Management中刷新下。

总结:

有了此设置,由于不同store view(语言店)语言不一样。同一个产品有一个法语的地址,一个英语的地址,可以分别提交给不同的搜索引擎,或者做不同的推广。但是事物都是双刃剑,具体情况还需要大家具体分析。

转载标明出处:www.hellokeykey.com

《magento使用细节 – 添加商店代码到Urls》有29个想法

  1. 但是 原来产品的链接 就变成404了 :(怎么办?

    他不会自动掉到默认视图去

      1. 设置成功后,如何能让主语言不要添加这个code而其它的语言添加呢?

        盼复!

        大海

  2. 出现了fr或en之后,怎么避免原来语言的店面保持不变,不要添加这个呢?

  3. 也就是说,我的网站本来的语言是英语,我新增了德语,开启的这个功能之后,德语显示了xxx.com/de/xxx,很好!
    但是英语店面下的链接也出现了这个xxx.com/default/xxx。可不可以这个不变呢?
    我想主语言保持不变,其它语言出现就好。

  4. hello 钥匙,

    我按你的方法改了之后,确实显示成功了。但是主语言的url也变成了xxx.com/default/xxx. 比之前的多了中间的default. 我看大多数多语言网站的主语言都不会这样的。请问怎么既然其它语言显示这个code而主语言不显示?

    非常期待你的回复!

    大海

      1. 没有设置之前是这样
        ?___store=fr&___from_store=en
        设置之后是这样
        fr/?___from_store=en
        开启后台的网址重写功能,刷新缓存和索引管理操作了还是fr/?___from_store=en
        不知道为什么

        1. 我也是这样的情况,按照上面说的,本来是
          ?___store=fr&___from_store=de
          变成了/fr/?___from_store=de
          也开启了搜索引擎优化里的重写功能和索引,缓存也刷新了··求解答

  5. 为什么我切换语言时 它都会自动在域名比如 http://www.xxx.com/en/后面加上?___from_store=chinese 成了www.xxx.com/en/?___from_store=chinese 我在 System -> Configuration -> Web中设置了YES了 也开启了WEB服务重写 但还是不能解决问题。还有一个问题就是我的网站本身是英文的但用这个语言切换切换回来后它能不能不加 /en 呢 请问钥匙哥有没有什么好的办法解决这个问题

  6. 钥匙哥! 按你说的做了!但是有一个问题, 就是我原先的站点是http://www.xxxxx.com/xxxx.html的格式,本身是英文站,我加了一个法语站 把商店code也加上了,法语的变成http://www.xxxxx.com/fr/xxxx.html了! 但是我原先的地址也变成http://www.xxxxx.com/en/xxxx.html了! 我把缓存 索引都清了重建了, 可不可以不让默认的站点 不显示这个en啊! 让默认的地址不变!

    1. 我也是遇到了这个问题,默认英文页面不显示商店代码,其他语言显示就最理想了

  7. Store:Main Website Store
    Name:English
    code:en
    Status:Enabled
    Sort Order:0
    Store:Main Website Store
    Name:简体中文
    code:cn
    Status:Enabled
    Sort Order:1
    每次这样设置就会前后台404,搞了好多次了,1.8版本的这样设置就没问题,1.9版本的就是会出这个问题,看日志,说是MAGE 里面538行 什么什么的不行,都不知道为什么?

  8. 删除了添加语言的视图,出现错误会是哪里的问题。 1.8版本的,钥匙哥遇到过吗?

评论已关闭。