Magento:如何在URL重写中包含锚链接

时间:2014-01-31 13:52:34

标签: php magento url-rewriting anchor

我对编码很陌生,希望有人可以帮助我。

在Magento Commerce 1.7上我运行了3家商店(3种语言)。我添加了一个锚链接(#example)以指向我们的策略(CMS)页面上的某个位置,该页面在各自语言的所有三个商店中都可用。 但是,每个策略(CMS)页面都有自己的URL语言。要从一个商店切换到另一个商店,我必须在Magento中使用URL重写,以免获得404.

English site: www.example.com/en/policies/#example
German site: www.example.com/de/agb_s/#example
Dutch site: www.example.com/nl/algemene_voorwaarden/#example

然而,URL重写不接受#anchor符号,只是在php代码中的URL末尾添加它意味着只要重写开始它就会消失。

    <?php echo $this->getUrl('policies/') ?>#example"

有没有办法将锚写入php或URL重写,这样它就不会丢失?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

好的,找到了。

在Magento后端的URL重写中,不允许请求路径中的“#”锚符号,但目标路径中允许使用“#”锚符号 。 所以,在你有链接的phtml文件中,而不是这段代码:

<a href="<?php echo $this->getUrl('policies')?>#example" >example</a>

将代码更改为:

<a href="<?php echo $this->getUrl('policies/example')?>" >example</a>

并在Magento中将此网址重定向到:

  • 英文商店:政策/示例 - &gt;政策/ #pamples
  • 德国商店:政策/示例 - &gt; agb_s /#示例
  • 荷兰商店:政策/示例 - &gt; algemene_voorwaarden /#示例

URL“policies / example”不存在,但无关紧要。 URL重写会将其重定向到商店各自政策页面上的锚点。 可能不漂亮但它有效!