我应该如何在我的 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 中。
规范 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')
.
如果您想在 html header 中使用规范的 url,您必须为此编写或获取一个模块,因为它不包含在 Prestashop 中。