我应该如何在我的 prestashop 主题中实施规范网址?

How should I implement canonical urls in my prestashop theme?

规范 url 目前已在商店中激活,但不会写入前端源代码。所以我什至看了一下 default-bootsrap 主题,最后一个来自 github,但它似乎没有实现任何规范 url.

我也检查了所有控制器,但似乎没有人设置 $canonical_url(类似..)smarty var,那么相关的后台选项到底是什么?

我在网上搜索过,但没有找到真正有用的东西。

后台选项 Canonical url 仅在控制器中使用。

如果您激活了 url 重写选项并尝试访问此 link:

http://dev.test.com/index.php?id_product=1&controller=product

您将被重定向到,例如:

http://dev.test.com/tshirts/1-T-shirts-a-manches-courtes-delaves.html

这里是 canonicalRedirection 方法的摘录 FrontController class:

/**
 * Redirects to canonical URL
 *
 * @param string $canonical_url
 */
protected function canonicalRedirection($canonical_url = '')
{
    [...]

    $redirect_type = Configuration::get('PS_CANONICAL_REDIRECT') == 2 ? '301' : '302';
    header('HTTP/1.0 '.$redirect_type.' Moved');
    header('Cache-Control: no-cache');
    Tools::redirectLink($final_url);
}

在这种方法中,我们使用此行 Configuration::get('PS_CANONICAL_REDIRECT').

获取您在 BackOffice 中选择的规范重定向选项

如果您想在 html header 中使用规范的 url,您必须为此编写或获取一个模块,因为它不包含在 Prestashop 中。