您好我想将我当前的产品网址结构更改为新网址,但我希望保留原有网址,因为我的产品已关联。
如果不为每个产品手动创建301重定向,我该怎么做?
答案 0 :(得分:0)
不确定你有什么Prestashop版本,只是在1.6.1.6中尝试过 你可以覆盖:
<?php
class Dispatcher extends DispatcherCore
{
protected function loadRoutes($id_shop = null)
{
parent::loadRoutes($id_shop);
$language_ids = Language::getIDs();
if (isset($context->language) && !in_array($context->language->id, $language_ids)) {
$language_ids[] = (int)$context->language->id;
}
foreach ($language_ids as $id_lang) {
foreach ($this->default_routes as $id => $route) {
if($id == "product_rule")
$this->addRoute(
'product_rule2',
'{id}-{rewrite}{-:ean13}.xhtml',
'product',
$id_lang,
$route['keywords'],
isset($route['params']) ? $route['params'] : array(),
$id_shop
);
}
}
}
}
在这种情况下,我对xhtml使用了第二个规则(没有这个覆盖它给了404)。您可以将{id} - {rewrite} { - :ean13} .xhtml更改为您拥有的规则,然后更改SEO中的规则以希望您想要新的规则。
答案 1 :(得分:0)
请写下您的ps版本。如果你使用1.5或以上?
您现在使用此结构{category:/} {id} - {rewrite} { - :ean13} .html?要么 {category:/} {rewrite} { - :ean13} .html或this {category:/} {rewrite} .html
请写更多详情
取决于它只是制定htaccess规则 ([0-9] +)为id (。*)用于重写 并请使用RedirectMatch永久 并设置为$ 1,$ 2等的结果
该指南必须有助于理解htaccess url重写https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/