Улучшаем URL в Shop-Script

Идея в общем-то простая – с помощью апачевского модуля mod_rewrite преобразовать “красивые” URL в такой набор параметров, которые понимает скрипт.

Самые частые пути:

Создадим в корне сайта файл .htaccess, если, конечно, его еще нет. И добавим в него такие строчки:

Скажу честно – я не профессионал в составлении правил для mod_rewrite и Perl-овые регулярки знаю поверхностно. Наверняка эти команды можно оптимизировать, но надо же с чего-то начинать.

Собственно добавлением этих строчек все и заканчивается. Теперь вместе с теми URL, которые я написал выше будут работать и такие:

А дальше надо править шаблоны. И, кое-где, файлы скрипта. Искать строчки типа

и заменять на

Переменная у Smarty может называться и по-другому – зависит от шаблона. В общем смотреть, где формируются ссылки на категории и продукты. А также менять относительные ссылки на картинки и т.п. на абсолютные. В смысле

на

Какие еще URL перезаписать? :-)

Автор

Сергей Родовниченко

Родился, учился, работал и все такое. Занимаюсь поддержкой сайтов на Shop-Script, Joomla, Wordpress, Prestashop. А также на самописных движках на базе CakePHP.

10 thoughts on “Улучшаем URL в Shop-Script”

  1. Спасибо. А нет ли случаем готового списка файлов (кроме шаблона) в которые надо вносить изменения? А то перебирать всё займёт много времени.

    1. Нет, готового шаблона нет. Не вижу причин, чтобы отказываться от обычных URL shopscript’а.

  2. Спасибо. А нет ли случаем готового списка файлов (кроме шаблона) в которые надо вносить изменения? А то перебирать всё займёт много времени.

    1. Нет, готового шаблона нет. Не вижу причин, чтобы отказываться от обычных URL shopscript’а.

  3. Сергею!!!
    А зря я вот смотрю в поиске даже на яндексе начинают рулить ЧПУ урлы, только не просто ЧПУ, а чтоб ключевик был в урле, т.е. ищет например человек ноутбук Acer, и те сайты у кого адрес типа shop-script/product/Acer_Aspire_5315.html
    при всех прочих равных стоят выше чем у кого обычный шоп скриптовский урл.
    на гугле такая штука даже где-то в официальных документах описана, а теперь и на яндексе начинает это работать, если в урле есть ключевик то яндекс его даже подчеркивает!!!
    P/S Скажу даже больше на официальных гугловских старницах видел гдето даже если ключевик на русском, а в урле есть транскрипция этого ключевика, то сайт будет выше!!!!!!

  4. Сергею!!!
    А зря я вот смотрю в поиске даже на яндексе начинают рулить ЧПУ урлы, только не просто ЧПУ, а чтоб ключевик был в урле, т.е. ищет например человек ноутбук Acer, и те сайты у кого адрес типа shop-script/product/Acer_Aspire_5315.html
    при всех прочих равных стоят выше чем у кого обычный шоп скриптовский урл.
    на гугле такая штука даже где-то в официальных документах описана, а теперь и на яндексе начинает это работать, если в урле есть ключевик то яндекс его даже подчеркивает!!!
    P/S Скажу даже больше на официальных гугловских старницах видел гдето даже если ключевик на русском, а в урле есть транскрипция этого ключевика, то сайт будет выше!!!!!!

  5. @Den: Вот только в моем методе не получится «shop-script/product/Acer_Aspire_5315.html», а получится «shop-script/product/458204» — вместо имени товара будет непонятный никому ID.

  6. @Den: Вот только в моем методе не получится «shop-script/product/Acer_Aspire_5315.html», а получится «shop-script/product/458204» — вместо имени товара будет непонятный никому ID.

  7. вот тош, придется видимо в таблицу с продуктами еще одно поле добовлять где писать url для каждого товара и искать товар чтоб можно было не только по ID а и по этому полю, типа получает index.php идентификатор цифровой, ищем по ID
    а если он с букв начинается то ищем по новому полю.
    Думаю как то так.

  8. вот тош, придется видимо в таблицу с продуктами еще одно поле добовлять где писать url для каждого товара и искать товар чтоб можно было не только по ID а и по этому полю, типа получает index.php идентификатор цифровой, ищем по ID
    а если он с букв начинается то ищем по новому полю.
    Думаю как то так.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *