Вопрос Вопрос - как правильно настроить переадресацию с одной категории на другую NGINX

lightman555

Гуру форума
Регистрация
7 Мар 2013
Сообщения
395
Реакции
66
необходимо в Nginx для Престы 1.4 (собственно не важна какая версия)
сделать переадресацию с одной категории на другую (по сути ID категории поменялся)

прописываю:
server {
listen 80;
server_name сайт.ru www.сайт.ru;

location = /2-категория {
return 301 Для просмотра ссылки Войди или Зарегистрируйся
}
}

И все равно при заходе на эту страницу
Для просмотра ссылки Войди или Зарегистрируйся

что не так?
все уже перерыл и прочитал кучу статей и службу поддержки озадачил - должно работать - но не работает...
куда копать?
 
Последнее редактирование:
неужели никто не делал переадресацию в NGINX ?
код что написан выше - должен быть верным и даже Яндекс GPT - такой же строит и в интернете на форумах - аналогичный!

Чего то возможно не хватает - но вот чего?

копати в сторону повернення Апача
Благодарю! Как раз от него давно ушел (от Апач) и не жалею и возвращаться желания нет! :)))
 
ну так сделайте на уровне пхп. Оверрайд категори контроллера
PHP:
public function init()
{
    parent::init();
    
    // Массив перенаправлений [старый ID => новый ID]
    $redirects = [
        10 => 20, // Категория 10 перенаправляется на 20
        15 => 25, // Категория 15 → 25
    ];

    $id_category = (int)Tools::getValue('id_category');

    if (isset($redirects[$id_category])) {
        $newCategoryId = $redirects[$id_category];
        $newCategoryUrl = Context::getContext()->link->getCategoryLink($newCategoryId);

        header("HTTP/1.1 301 Moved Permanently");
        header("Location: " . $newCategoryUrl);
        exit();
    }
}
 
ну так сделайте на уровне пхп. Оверрайд категори контроллера
PHP:
public function init()
{
    parent::init();
   
    // Массив перенаправлений [старый ID => новый ID]
    $redirects = [
        10 => 20, // Категория 10 перенаправляется на 20
        15 => 25, // Категория 15 → 25
    ];

    $id_category = (int)Tools::getValue('id_category');

    if (isset($redirects[$id_category])) {
        $newCategoryId = $redirects[$id_category];
        $newCategoryUrl = Context::getContext()->link->getCategoryLink($newCategoryId);

        header("HTTP/1.1 301 Moved Permanently");
        header("Location: " . $newCategoryUrl);
        exit();
    }
}

даже не думал что так можно!
Просто все советовали сделать в Nginx - команды нашел и везде они такие - но к сожалению не срабатывают по не понятным причинам.
Все это мне нужно чтобы ссылки SEO не потерялись при смене ID категории

а куда этот код вставлять в какой файл и где именно?
сейчас у меня преста 1.4 - планирую перейти на 1.6 (уже слишком долго планирую и в том числе не переходу так как не хочу чтобы ссылки потерялись - ID категорий будут другими)
Нужно ка кто яндекс и гугл научить заменить старые id на новые
 
Назад
Сверху