Перейти к содержимому


Простейший модуль ЧПУ


  • Вы не можете ответить в тему
Сообщений в теме: 415

#401 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 April 2014 - 03:30 PM

есть вопрос как сделать 301 перенаправления со страниц в которых есть знак "_".

Как я понимаю, выполнять перенаправление ДО применения ЧПУ, т.е. где-то в .htaccess и ВЫШЕ по коду, чем ЧПУ-шные строки. Так уж исторически сложилось, что символ подчеркивания у меня выполнял служебную функцию и в ЧПУ-ссылке его использовать нельзя. Это не совсем хорошо, но сейчас бы я и все остальное уже написал совсем по другому, так что исправлять этот частный косяк смысла не вижу.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#402 webvertex

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 11 сообщений
Репутация: 0
Начинающий

Отправлено 07 April 2014 - 05:34 PM

Безполезно, куда бы я не стаил строку перенаравления - в конец в середину в начало, до правил чпу после правил, не срабатывает перенаправление. Выдает 404.
Даже если без "_"
Redirect permanent /korody http://sl-latex.ru/kosmetika/
http://sl-latex.ru/k...ka/?cpu=/korody

Видимо, принципиально не работает Redirect permanent с cpu
  • 0

#403 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 April 2014 - 05:46 PM

Я совершенно не знаю .htaccess, т.к. пользуюсь nginx-ом, но первым делом попробовал бы банальное
RewriteRule ^aaa_bbb/ccc_ddd$ aaa-bbb/ccc-ddd [R=301,L]
после строки
RewriteEngine on

А используя регулярные выражения, думаю, без проблем можно написать универсальную замену подчерка на минус при 301-м редиректе. Что-то типа
RewriteRule ^(.+?)_(.+?)/(.+?)_(.+?)$ $1-$2/$3-$4 [R=301,L]

полезная ссылка - http://www.pixelplus...t-301-redirekt/
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#404 webvertex

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 11 сообщений
Репутация: 0
Начинающий

Отправлено 07 April 2014 - 09:10 PM

Я совершенно не знаю .htaccess, т.к. пользуюсь nginx-ом, но первым делом попробовал бы банальное RewriteRule ^aaa_bbb/ccc_ddd$ aaa-bbb/ccc-ddd [R=301,L] после строки RewriteEngine on А используя регулярные выражения, думаю, без проблем можно написать универсальную замену подчерка на минус при 301-м редиректе. Что-то типа RewriteRule ^(.+?)_(.+?)/(.+?)_(.+?)$ $1-$2/$3-$4 [R=301,L] полезная ссылка - http://www.pixelplus...t-301-redirekt/


Большое спасибо за помощь! В итоге, методом проб и ошибок, получились работающие конструкции вида:

RewriteRule ^nat_latex$ /nat-latex/ [R=301,L]
RewriteRule ^nat_latex/kids$ /nat-latex/kids/ [R=301,L]
RewriteRule ^nat_latex/matras$ /nat-latex/matras/ [R=301,L]
RewriteRule ^nat_latex/podushki$ /nat-latex/podushki/ [R=301,L]
RewriteRule ^kosmetika/for_body$ /kosmetika/for-body/ [R=301,L]
RewriteRule ^kosmetika/for_teeth$ /kosmetika/for-teeth/ [R=301,L]
  • 0

#405 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 April 2014 - 09:14 PM

ИМХО, все эти строки заменяются одной строкой
RewriteRule ^(.+?)_(.+?)$ /$1-$2/ [R=301,L]
Но это умозрительно и навскидку, мог что-либо упустить.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#406 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 April 2014 - 11:32 PM

о это умозрительно и навскидку, мог что-либо упустить.

Упустил. Это правило должно быть расположено после всех других правил "с подчерком". Но до двух строчек ЧПУ-правил. Т.е. логично расположить это правило именно перед ними.

Но это я так, вдогонку. Для закрытия темы.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#407 webvertex

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 11 сообщений
Репутация: 0
Начинающий

Отправлено 09 April 2014 - 05:59 PM

Да, спасибо, попробую.

Вчера настраивал Яндекс.Маркет. Скачал Ваше дополнение modules_yandex.php для генерации правильных ссылок в yml листе. По-началу файл не прошел проверку в Маркете, т.к. получались ссылки вида "http://http://domen..."
Залез в код, в 124 строке
Было
fputs( $f, " <url>http://".CONF_SHOP_URL.$product["cpu_to"]."</url>\n" );

убрал http://, стало
fputs( $f, " <url>".CONF_SHOP_URL.$product["cpu_to"]."</url>\n" );

Теперь все ок. Может быть у меня какая-то старая версия ЧПУ. Или что-то еще. Извините, если не актуально.
  • 0

#408 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 April 2014 - 06:23 PM

Теперь все ок. Может быть у меня какая-то старая версия ЧПУ. Или что-то еще. Извините, если не актуально.

У Вас в "Общих настройках" адрес магазина прописан как http://site.ru, а не как site.ru.
Можно было бы приспособить функцию correct_URL(CONF_SHOP_URL), которая решает этот момент, но поскольку наличие префикса http:// в этой настройке еще где-то (толи в стороннем модуле, толи даже в родном) приводит к глюкам, то я этого делать не стал. Лучше просто написать как положено, т.е. без http://

PS. Эта тема по модулю "Простейший модуль ЧПУ", а не по "Яндекс.Маркет (online)".
Хочется продолжить - велком в соответствующую тему.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#409 vladimir306

    Новичок

  • Пользователи
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 25 April 2014 - 06:57 PM

кто поможет установить ЧПУ Модуль?
  • 0

#410 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 25 April 2014 - 07:15 PM

кто поможет установить ЧПУ Модуль?

Ежели кто возьмется, то рекомендую только с полной предоплатой. См. blacklog.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#411 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 20 May 2014 - 08:57 PM

Кто-нибудь переходил с первой версии этого ЧПУ на новую вторую версию? Есть какие-нибудь подводные камни?
  • 0

#412 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 20 May 2014 - 09:15 PM

Кто-нибудь переходил с первой версии этого ЧПУ на новую вторую версию? Есть какие-нибудь подводные камни?

Они же разные совершенно :). Т.е. автоматически перейти можно, но я такую задачу себе даже и не ставил. Функция translit сохранена практически та же, т.е. для подавляющего большинства наименований транслиты будут теми же самыми. А так совершенно другой ЧПУ, тот же только принцип.
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#413 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 20 May 2014 - 09:21 PM

В общем придется все ссылки сайта переделывать? А как реализовывается принцип хлебных крошек в продуктах если транслитом, от категории? Адрес для продуктов жестко прописывается или при смене категории меняется?
  • 0

#414 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 20 May 2014 - 11:16 PM

Поставил на старый, все отлично работает. Спасибо за отличную работу! Ссылки надо снова транслировать, но это не проблема.
Адрес ссылки продукта зависит от категории в которой он находится. Если не трогать, то нормально все будет. Буду тестировать дальше.
  • 0

#415 etdnepr

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 0
Начинающий

Отправлено 03 November 2014 - 10:21 PM

Доброго времени суток!
Спасибо badisoft за модуль!!
Есть проблемка.Может кто сталкивался?
На один сайт поставил - все ок, только в sitemap.xml старые (не ЧПУ) ссылки остались.
На второй поставил - результат странный получился. Часть товаров/страниц отображаетсяя нормально, ЧПУ нормальный, а некоторые страницы выдает с "порванными" стилями. Т.е. , один товар открываешь - все ок, а некоторые попадаются со слетевшими стилями.
В чем причина не пойму, ведь они же открываются из одного и того же product_detailed
  • 0

#416 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 04 November 2014 - 12:34 AM

На один сайт поставил - все ок, только в sitemap.xml старые (не ЧПУ) ссылки остались.

Видимо, был уже установлен какой-то модуль, генерящий sitemap.xml.
Идущий в комплекте с ЧПУ sitemap.php НЕ МОЖЕТ генерить старые ссылки, нет в нем такого кода :).

На второй поставил - результат странный получился. Часть товаров/страниц отображаетсяя нормально, ЧПУ нормальный, а некоторые страницы выдает с "порванными" стилями. Т.е. , один товар открываешь - все ок, а некоторые попадаются со слетевшими стилями.

Надо смотреть конкретику. Причина обычно проста, но теоретическим обсуждением ее решать глупо и не продуктивно. В общем случае смотрите отличие кода на странице с ЧПУ и той же странице без ЧПУ. Где будут какие-то изменения, не имеющие отношения к ЧПУ - это оно. Надо будет изучать, почему и как они появились.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)