Плагин "Nice URL"
Плагин «Nice URL» приводит URL топиков к ЧПУ. Например, /blog/bugreport/123.html преобразует в /problema-pri-ustanovke.html. Это будет полезно тем, кто верит, что такие урлы способствуют продвижению сайта в поисковых системах.
Плагин доступен для скачивания в нашем каталоге — livestreetcms.com/addons/view/46/
UPDATE 1: Плагин обновился до версии 2.0
Изменения:
1. При активации пересохраняет все топики для перевода названия в транслит
2. Исправлен баг с переопределением экшена blog через $config['router']['rewrite']
3. И главное — произвольная настройка шаблона для URL, используя переменные: %year%, %month%, %day%, %hour%, %minute%, %second%, %login%, %blog%, %id%, %title%. Настройки находятся в в конфиге плагина.
Тестируем и отлавливаем баги.
UPDATE 2: Плагин обновился до версии 2.1
Изменения:
1. Для персонального блога можно указать логин автора
PS: если LS установлен в подкаталог и при переходе на топики возникает 404 ошибка, то необходимо применить этот фикс движка — trac.lsdev.ru/livestreet/changeset/1033
Плагин доступен для скачивания в нашем каталоге — livestreetcms.com/addons/view/46/
UPDATE 1: Плагин обновился до версии 2.0
Изменения:
1. При активации пересохраняет все топики для перевода названия в транслит
2. Исправлен баг с переопределением экшена blog через $config['router']['rewrite']
3. И главное — произвольная настройка шаблона для URL, используя переменные: %year%, %month%, %day%, %hour%, %minute%, %second%, %login%, %blog%, %id%, %title%. Настройки находятся в в конфиге плагина.
Тестируем и отлавливаем баги.
UPDATE 2: Плагин обновился до версии 2.1
Изменения:
1. Для персонального блога можно указать логин автора
$config['url_personal_blog'] = '%login%';
2. Фикс проблемы с блоками на странице топика — необходимые блоки нужно указать в конфиге плагинаPS: если LS установлен в подкаталог и при переходе на топики возникает 404 ошибка, то необходимо применить этот фикс движка — trac.lsdev.ru/livestreet/changeset/1033
248 комментариев
Т.е чтобы было не
/blog/bugreport/123.html
а
/bugreport/123.html
или
/123.html
или
/bugreport/problema-pri-ustanovke.html
??
Плагин полезный. В плане того, что можно УРЛ делать отличные от стандартных.
В идеале, конечно, что-то по типу pathauto(drupal), но как мне сказали несколько человек — не очень просто реализовать в LS. Что разочаровывает.
Т.е. задавать самому конструкции УРЛов для любых ссылок на сайте.
Захотел сделать /user/admin/ вместо /profile/admin/ — зашел куда-то, ввел в определенное поле /user/%username% и изменились все УРЛ. Тоже самое и с топиками — ввел в поле %blog_title%/%topic_title% или topic/%topic_id% и т.п…
Но пока до этого далеко, на сколько я понимаю?
имеем — njournal.ru/besplatnaya-tema-dlya-livestreet---yaall.html
как сделать njournal.ru/блог в котором топик/besplatnaya-tema-dlya-livestreet---yaall.html
и вставка даты в урл.
Нет, чтобы привести пару строк кода, надо написать, что это совсем не сложно и даже школота может справиться)))
Ну не хватает мне знаний, чтобы ковырнуть фалики и сделать как хочется(((
Я же не просто так в комменте спрашиваю об изменениях. Если бы мог, сделал бы и выложил правки))
Я про этого и говорю. Нет, чтобы выложить правки тут, чтобы любой мог использовать… Делается все в привате и там остается.
Я в комменте написал(цитирую сам себя)
В ответ получил по сути бессмысленный коммент(не в обиду Asphix)
В этой теме уже несколько человек спросили как сделать нужные изменения, но публичного ответа со стороны знающих людей не последовало.
topic.entity.class.php в /classes/modules/topic/ будет выглядеть примерно так
Так точнее.
Но вот после активации плагина все статьи перестают отзываться на site.ru/id.html и не работает урлреврайт (с site.ru/id.html на site.ru/blog/news/id.html).
Можно ли как то сделать так, что бы при активированном плагине статьи отзывались и на site.ru/id.html?
Меняем:
На
ЗЫ Нужно и мне прочитать документацию :)
Убрал из этой строчки
получилось
и как резальтат url стал вида _http://mysite.ru/nazvanie_posta.html
на все ушло 40 секунд)
Возник новый вопрос:
Ниже есть строчка:
если .html заменить на / то выдается ошибка 404, если просто убрать, то url становится вида: _http://mysite.ru/nazvanie_posta т.е.без слеша в конце.
Подскжите, как сделать, чтобы в конце url был слеш, а не .html
А вы не верите в это? =)
Как решить проблему? А может кто поможет плагин установить?
Прошу помочь!!!
нужно будет внести этот функционал в сам плагин
P.S. спасибо за подсказку
/blog/howto/958.html имели вид /blog/howto/cho-to-tam-bynteresnoe.html ??
Все там нормально, в include/function.php все можно задать.
Почему плагин перестал работать? или как это правильно прописать?
Прикрутить id статьи в ЧПУ не получилось.
Ковырял topic.entity.class.php. Напихал в нужные места
В результате в адресе топиков появились их айди, но сами статьи не открываются, и выдают еррор 404.
Как исправить?
Также интерестно, как реализовать урлреврайт при активированном плагине (например, с site.ru/1.html на site.ru/blog/news/1.html)
Вот это вам в конфиге зачем?
А про
Добавляйте в том же конфиге правильное направление реврайта для получившегося адреса
Теперь я нубик, который не понимает ничего ^-^
Тоже необходимо чтоб персональные топики были вида: сайт.ру/%login%/%title% (желательно без .html)
А коллективные топики по идеи вообще не нужно менять. Не знаешь кстати как это сделать?
Урлы не полетят?
Если теперь отключаю и удаляю плагин, все ссылки на топики ведут на главную.
Включаю снова — УРЛы формируются нормально, но опять 404. Так что теперь я не могу ни включить, ни выключить плагин :) Как крайнюю меру прописал $config['url'] = '/%blog%/%id%';. Так работает, но, конечно, о красивости УРЛов речи нет :) Как пофиксить, подскажите?
Вопрос — как вернуть блоки?
njournal.ru/blog/2010/07/18/graficheskiy-planshet-wacom-volito2.html
а как получить
njournal.ru/логин_автора/2010/07/18/graficheskiy-planshet-wacom-volito2.html
при замене blog на login не работает.
Почему-то не работает урл sitename/login. Выдает 404. Но! по урлу sitename/my/login — выдает. Вопрос: виноват плагин «Мои вещи» который уже деактивирован? Как исправить?
плагин «Мои вещи» влиять не должен на это
нужно делать дебаг, чтобы понять в чем дело
«3. И главное — произвольная настройка шаблона для URL, используя переменные: %year%, %month%, %day%, %hour%, %minute%, %second%, %login%, %blog%, %id%, %title%. Настройки находятся в в конфиге плагина.»
В описании к плагину не идет речь о внесении изменений в topic.entity.class.php в /classes/modules/topic/( я об этом решении )
Поэтому хотелось бы комментариев от @ort. Мой вопрос: как получить урл sitename/blog_title/topic_title-ddmmyyyy?
на выходе sitename/%login%/test-raz-dva-20100825.html
Можно ли плагин подружить с кириллицей?
Можно как-то поправить чтобы работало ЧПУ и старые ссылки с редиректами тоже отзывались?
На одном сервере, где в корне нет .htaccess всё работает, как часы; на другом сервере, где .htaccess содержит такое:
не работает ничего :) кто подскажет, что делать — тот молодец :)
win
Настройки в принципе стандартные, LS 4версии.
Пришлось удалить плагин.
Буду ждать обновления
404 ошибка вела на «пересозданные ссылки». Типа: мой_сайт.ру/имя_блога/год/месяц/день/название_топика
Как решить эту проблему я не нашел. Поэтому удалил плагин. Щас работают «старые ссылки». Проблем нет.
То есть, чтобы «название блога» в ссылке, при указании переменной %blog% шло после постоянной blog.
Для примера возьмем коллективный блог «музыка» с url значением «music»
C помощью нынешней версии nice url, линк у меня получилось настроить только так:
А хотелось бы настроить так:
Было бы также замечательно, если бы добавили совместимость с плагином «Russian URLs». «Ссылками» из «Russian URLs» не пользуюсь. Пользуюсь только русскими никами.
Например, переходя по ссылке на персональную запись пользователя «Максим», получаем ошибку 404. Ссылка выглядит вот так:
xxxxx.ru/Максим/2010/09/11/petr-nalich.html
Может ли niceurl, делая ссылку, переводить русское имя пользователя в транслит?
Спасибо за внимание.
А никак не получится сделать чтобы со старых ссылок, без /blog/, шла переадресация?
Глупый вопрос наверное… но я просто не знаю как быстро поисковики проиндексируют новые версии ссылок
А если добавить /blog/, то уже нет.
Но, я сам пожалуй туда не полезу.
Пожалуйста, помогите.
темпы чистил, настройки не менял, цмс голая.
и верить ли ?
да
ИМХО ещё проще двигать по «меткам», в связи с вводом кир. дом. имен Яндекс благоволит русским урлам
)
показывает 404 ошибку.
В какую сторону копать?
Версия LS — 0.4.2
Он просто работает и делает свое дело хорошо)
удалял ставил чистил кэш
ничего не помогает как было так и есть
скачиваю новые версии
что можно сделать?
когда в конце стоит например "?"
то получается na-bloge-.html
последний минус можно удрать как то наверное
и еще например «и» «а» и другие короткие слова нету смысла в URL
2.можно как то добаться
что бы
site.com/login
выводило на страницу профиля
При выключенном плагине full time — 0.25 в среднем, при включенном — ниже 0.45 не опускается. Это есть очень нехорошо. Можно как-то исправить ситуацию?
И обнаружился баг — если несколько раз включить-выключить плагин, то стандартные урлы перестают работать с деактивированным плагином, вместо них везде ссылка на главную стоит.
такая ошибка выскакивает при активации
Я недавно поставил ещё одно нужное дополнение — пингатор, но к сожалению они конфликтуют.
Подскажите пожалуйста как решить эту проблемку.
Спасибо!
Также есть глюк: уведомления на почту о новых топиках приходят со старой версии ссылок и, естественно, пользователь получает 404 ошибку
У меня сайт в директорию /live установлен. Может это влиять?
Ссылка в письмах рассылки вида:
.ru/blog/177.html
Реальные ссылки постов вида:
.ru/plis/shemotehnicheskoe-proektirovanie-dlya-plis.html
Вот такая ссылка работает нормально.
.ru/blog/plis/177.html
Можно как то это пофиксить?
К сожалению, такой страницы не существует. Вероятно, она была удалена с сервера, либо ее здесь никогда не было.
Перезалей плагин
гссайт? знаете, как реклама, это не очень действенно, а поисковые системы это не индексирует. Зря стараетесь =)P.S. ссылки тут в rel=«nofollow»
разберитесь почему у вас вместо
PluginNiceurl_ModuleNiceurl_EntityTopic
ищет
PluginNiceurl_ModuleModuleNiceurl_EntityEntityTopic
site.ru/admin/plugins/?plugin=niceurl&action=activate&security_ls_key=61fe940a98a93404fe2875e7cd621fc2
504 Gateway Time-out
nginx
Показывает что плагин активирован, но ссылки не преобразовались.
если у блога название прописано кириллицей, ссылки не работают
помогите решить эту проблему? буду очень признателен)
как быть?
работает и на 0.5
Сейчас на дефолтовом скине при просмотре конкретного топика в правой колонке дублируются все блоки:
возможно вы меняли конфиг отображения блоков
отключить блоки, добавляемые плагином, можно заменив код на
После обновления все работает правильно, спасибо.
или
2. Создайте возможность убирать blog также в адресах к блогам. То есть, не только
но и
И еще — чтобы было не
А без html
И второй вопрос годичной давности: livestreet.ru/blog/addons/5190.html#comment84557
Как это сделать?
По 404 возможно поможет сброс кеша данных
Вообще подобная проблема с 404 была в старой версии и она уже пофикшена — livestreet.ru/blog/5553.html#comment81632
Особенности моей установки livestreet:
1 Установлена в директорию /forum.
в конфиге стоит $config['router']['rewrite'] = array( 'blog' => 'forum');
Соответственно блоги имеют например такой адрес: ls/forum/forum/sozdanie-muzyki/
Ссылки на топики например такие: ls/forum/sozdanie-muzyki/2008/09/18/vashi-vst.html
На почту прислали ссылку:
pgsha.info/programming/nenormalnoe-programmirovanie-seriya-1-proverka-na-nechetnost.html
А на сайте URL сформировался такой:
pgsha.info/programming/nenormalnoe-programmirovanie-ceriya-1-proverka-na-nechetnost.html
(первая буква в слове серия)
Как сделать тоже самое для блогов, чтобы вместо «livestreet.ru/blog/addons/» выводилось «livestreet.ru/addons.html»?
Неужели на таком хорошем движке это не реализуемое? Уже больше года вопрос открыт…
Автор, пожалуйста скажите в чем проблема, может найдется совет обойти трудности?
В зависимости от того, какой плагин вызывается первым проблема или (subdomains первым):
урлы топиков принимают вид [blog].domain.com/[topic id].html (при том, что в конфиге niceurl указано /%blog%/%title%) и при переходе по урлу возвращает 404
или (niceurl до subdomains)
урлы принимают вид
domain.com/[topic title].html и при переходе возвращается 500 Server Error: Infinite rewrite loop
попытался связаться с разработчиком (ozz), но пока от него нет ответа. может кто подскажет куда копать?
приводит к ошибке 404 плагина «Questions and answers» (проблема именно с таким шаблоном, давно уже работающим на проекте). Автор говорит что «тут он не помощник». Очень надеюсь на вашу помощь!
Но есть вопрос, связанный с уведомлениями на почту, которые приходят с ссылками на несуществующие топики, так как ссылки прилагаемые в письме являются ЛС-стандартными. Как можно решить эту проблему?
Зашел по старым — все работало. Может оно конечно и из кеша пришло — но роботы не жалуются.
Количество 404 ошибок у гугла и у яндекса не увеличилось. Сегодня попарсю лог.
если в шаблоне использовать знак "-" то появляется ошибка 404.
я использую шаблон:
а было
минуты я добавил, что бы уменьшить вероятность появления двух топиков с одинаковым урл
А как смотрит гугл на тот факт, что 2 разных урла имеют одинаковый контент? Я думаю не очень хорошо (или нет?). Можно при инициализации плагина отключить изменение уже имеющихся топиков?
Признавайтесь, что сделали?)
как в вордпрессеПлагин не заменяет адреса в топиках.
Хочу сделать такие же адреса, как на ДЛЕ, с которого я собрался перебираться на LS
Имеется большое количество топиков со структурой url вида:
= '/%blog%/%year%/%month%/%day%/%title%';
Хочу оставить в config только = '/%id%';
Вопрос заключается в том, как такое большое изменение повлияет на отношения поисковиков к сайту? Не потеряет ли сайт тиц и PR? Старые url’ы останутся на тех же позициях в поиске, что и были? Или же старые url’ы уйдут из поиска, а проиндексируются новые url’ы?
То есть плагин 301 редирект не выдает? Получается самый легкий путь это к старым url прописать в .htaccess новые? Получается сначала включить плагин, а уже потом прописать? (Извиняюсь, то что так подробно спрашиваю, боюсь ошибиться)
Мало топиков чтоли? Если их много к каждому ведь не пропишешь.
И еще вопрос, а зачем менять?
Хочу раскидать их по разным блогам. Сегодня пришла в голову идея, что если в плагине Nice URL поменять структуру вывода url на site.ru/123.html, то в дальнейшем любые перемещения существующих топиков по блогам никак не будут сказываться на Seo, ведь если url вида site.ru/123.html, то он и в блоге «1» и блоге «2» будет выглядеть одинаково.
Подскажите, может быть я заблуждаюсь и идея не рабочая?
Должно отработать с редиректом, а редирект (с кодом 301) как раз то и обозначает что запись перенесена и находится по новому адресу.
То есть url топика из коллективного блога выглядел:
site.ru/название топика
а url из персонального блога выглядел
site.ru/вася/название топика
Долго мучаюсь, не могу ничего придумать…
на WP url были такие site.ru/title/
на LS не помогла настройка вида url и не помог 301 редирект выдает 404 ошибку.
делать как-то через .htaccess не вариант много статей. Подскажите что делать?
Как привести ссылки в порядок, что не потерять ссылочную массу. Из-за этого откладывается перенос сайта на LS.
выдает 404 ошибку — как и прокомментировано в конфиге
И 301 редирект тоже не помог тоже 404 выдает
Главное хотел так сделать. Но комментарий к 'url postfix' меня смутил. Подумал что:
если это уже не помогло то ваш вариант можно и не пробовать. Ошибся!
Fatal error: Call to a member function getUrl() on a non-object in .....plugins/niceurl/classes/modules/niceurl/Niceurl.class.php on line 135
выключил плагин, при включении ошибка, но плагин включился:
Fatal error: Cannot redeclare func_niceurl_url_to_preg() (previously declared in .......plugins/niceurl/config/config.php:84) in .......plugins/niceurl/config/config.php on line 111
возможно это случилось из-за того, что я удалил пользователя через maniAdminPlagin
Как победить это? Подскажите пожалуйста.
Версия движка лайвстрит последняя.
Как можно решить проблему?
Благодарю
/blogs/news/ => /news/
/page/about/ => /about/
/companies/item/company_1 => /companies/company_1
Помогите пожалуйста -)
/blog/news/ => /news/
Переехал сайт на Livestreet с Hostgator к русскому хостеру, после чего все ссылки на посты стали вести на 404.Все остальные страницы и разделы работают без проблем.
Сайт установлен не в public_html хостинга, а в субпапку, имя которой соответствует адресу сайта. До переезда все было точно также, но ссылки работали. Конфиги после переезда под оффсет и пути правил — ноль реакции.
Конфиги поправил, проблем вроде нет.
При отключении в админке плагина Nice URL посты начинают открываться, но формат ссылок изменить не могу.
Что делать?
Вообще можно попробовать перегенерировать ссылки:
1) сохранить бекап БД;
2) деактивировать NiceURL;
3) очистить таблицу «prefix_niceurl_topic»;
4) активировать NiceURL.
А должно кидать на 404. В панели вебмастера из-за этого отображаются ошибки.
Подскажите как побороть!
Должно редиректить, и это имхо правильно, т.к. эта станица могла быть уже проиндексирована.
Согласен на счет редиректа, это в идеале.
Буду копать дальше…
Это можно как-то просто исправить или ждать новой версии плагина?
При активации выдает:
Для решения этой проблемы откройте файл PluginNiceurl.class.php который находиться в папке плагина и изменить 2 строчка кода
на
NiceUrl.class.php, строчка 72:
Но в коде движка НИГДЕ нет метода
Логично ожидать ошибку в логах, но ошибки… нет. Все работает как ни в чем не бывало.
Всего-то нужно после добавления топика в базу выполнить некое действие (записать что-то в лог).
Вешаем хук на module_topic_addtopic_after — и функция вызывается с переданным вот таким объектом:
При этом плагин NiceUrl ЕЩЕ НЕ ОТРАБОТАЛ.
Возникает вопрос — каким образом сделать вызов хука ПОСЛЕ того как отработает тот же хук, перехваченный плашином niceurl.
Гугл? Нет, нет ответа.