Вы не авторизованы.
code2003 написал:
Идея предыдущая верная, но если так делать получится бесконечное перенаправление.
Почему? Если делать проверку на слуг и ип, т.е. определять, что данный урл является производной от слуг, а не ип, то бесконечного перенаправления не будет.
Неактивен
да , именно с проверкой тогда будет нормально.
Чтобы сократить вопросы по размещению приведу весь код
if(!isset($_GET['product_slug'])){ $sql = db_query("SELECT slug FROM SC_products WHERE productID=".$productID); $row = db_fetch_assoc($sql); Redirect(CONF_FULL_SHOP_URL . 'product/' . $row['slug'] . '/'); }
Неактивен
Сергей М написал:
Раз вопрос выше с редиректом оказался сложный, на такое хоть есть ответ?
ссылки site.ru›product/4718/ (разные id) автоматически редиректить на с чпу
пример редиректить с site.ru›product/4718/ на site.ru›product/nazvanie-chpu/
У меня почему то в яндексе ссылки стали индексировать без чпу а ввиде id, не знаю почему. Кто сталкивался может?
При включенных ЧПУ Shop-Script сам отлично редиректит такие ссылки на ЧПУ.
По крайней мере уже очень давно. В начальных версиях не редиректил.
Почему у вас не редиректит?
Неактивен
у меня 298 версия, может в ней нет такого? как быть? можно ли как-то выдернуть кусок кода из более старших версий?
Сегодня увидел "Яндекс" много ссылок заменил
В новых версиях реально работает, а какой файл за это отвечает, не подскажете?
Отредактировано Сергей М (2015-01-31 22:10)
Неактивен
В 298, насколько помню, этого редиректа еще не было.
Неактивен
Сергей, я же Вам написал ответ. Вставьте в /published/SC/html/scripts/modules/products/script/product_detailed.php
после
$product=GetProduct($productID); if(!$product||$product["enabled"]==0)error404page();//RedirectSQ('?'); else{
Неактивен
Не было выше указано какой файл править. Да, вписал все куда сказано, работает, но, если чпу не пропиано, всякое может случится если больше 5000 товаров, то редиректит на не правильную страницу.
product// на такую.
А в более старших моделях этот же фал отвечает за подобную вещь? Может прорсто скопировать с рабочего файла кусок кода? Или в других где-то? (речь про старшие модели)
Отредактировано Сергей М (2015-02-02 10:34)
Неактивен
Почти работает ведь, осталась только проверка заполнено поле или нет)
Подскажите)
Неактивен
Там же стоит условие, если заполнен слуг. то делаем редирект. Что то не так работает ?
Неактивен
Наоборот
но, если чпу не пропиано, всякое может случится если больше 5000 товаров, то редиректит на не правильную страницу.
product// на такую.
проблема
Неактивен
Теперь понял вопрос.
Вот так надо изменить код
if(!isset($_GET['product_slug'])){ $sql = db_query("SELECT slug FROM SC_products WHERE productID=".$productID); $row = db_fetch_assoc($sql); if($row['slug']!=''){ Redirect(CONF_FULL_SHOP_URL . 'product/' . $row['slug'] . '/'); } }
Неактивен
СПАСИБО, ЧЕЛОВЕЧЕСКОЕ.
РЕШЕНИЕ НАЙДЕНО вопроса #46 на этой странице в посте #61
Неактивен
Это к чему? МОжно более развернуто, к сожалению не программист...
Неактивен