Форум русской поддержки Joomla!® CMS
09.12.2016, 19:25:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Удвоенный alias материала в URL материала К2. Как так и как избавиться?!

 (Прочитано 725 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Artem-rostart
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« : 08.06.2016, 21:30:29 »

Здравствуйте! Столкнулся со странной вещью...

Сам бы и не нашел, но Яндекс индексирует материалы К2 не по своему адресу, а по удвоенному!

Т.е.  в индексе Яндекса вместо 
site.ru/index.php/category/12-adres-materialaK2  страница проиндексирована по адресу
site.ru/index.php/category/12-adres-materialaK2/12-adres-materialaK2

Кто-нибудь знает что с этим делать!

Joomla! 3.2.3  -  К2 K2 v2.6.7
Записан
Artem-rostart
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #1 : 09.06.2016, 18:53:55 »

А что нет ни у кого даже версий!  Что это за напасть то такая!  Angry
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1467


« Ответ #2 : 09.06.2016, 23:29:46 »

Это дубли страниц — извечная проблема Joomla! Попробуйте вставить мой скрипт в index.php вашего шаблона (взят из моего же плагина SEF Wizard, но там поддержка K2 только планируется). А этот скрипт должен работать для всех компонентов:

Код
$vars = JFactory::getApplication()->getRouter()->getVars();                
$url_parts = explode('?', JRoute::_('index.php?' . http_build_query($vars), false), 2);
$path = $url_parts[0];
 
$uri = JURI::getInstance();
$canonical = $uri->toString(array('scheme', 'host', 'port')). $path;
$root = JURI::root(true);
 
if($canonical !== urldecode(JURI::current()) && $path !== "$root/index.php" && $path !== "$root/")
{
   // Просто запретить индексацию
   JFactory::getDocument()->setMetaData('robots', 'noindex');
 
   // Вызвать ошибку 404, не отображать эту страницу вообще
   // JError::raiseError(404, 'Not Found');
}

После чего все дубли страниц должны вылететь из индекса. Используйте, только проверьте всё аккуратно, чтобы не было эксцессов. Удачи! Azn
« Последнее редактирование: 10.06.2016, 10:23:57 от Филипп Сорокин » Записан
darkghost
Практически профи
*******

Репутация: +75/-0
Offline Offline

Сообщений: 1811



« Ответ #3 : 10.06.2016, 11:41:04 »

на Форуме о дублях говорят много и более детально
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1467


« Ответ #4 : 10.06.2016, 12:16:25 »

Сомневаюсь, что весь этот "трёп" может быть полезен, при всём уважении к форуму =)))
Записан
Artem-rostart
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #5 : 10.06.2016, 19:13:56 »

Это дубли страниц — извечная проблема Joomla! Попробуйте вставить мой скрипт в index.php вашего шаблона (взят из моего же плагина SEF Wizard, но там поддержка K2 только планируется). А этот скрипт должен работать для всех компонентов:

О, отлично, собственно это и надо!  Чтобы они не индексировались! Достаточно в индексе и нормальных страниц ))  А какое правило в .htacess можно прописать, чтобы редирект 301 срабатывал с дубля  /item/item   на нормальную страницу /item  ?  Не могу сообразить как правило в таком случае прописать? Или же надо вручную    Redirect 301 /item/item /item   для каждой страницы прописывать, муторно....
Записан
Artem-rostart
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #6 : 10.06.2016, 19:15:38 »

на Форуме о дублях говорят много и более детально

Спасибо, но я уже смотрел - там нет такого случая....
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1467


« Ответ #7 : 10.06.2016, 19:45:22 »

Если в индексе присутствуют нормальные страницы, то в редиректах нет необходимости.
Записан
Artem-rostart
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #8 : 11.06.2016, 18:24:20 »

Попробуйте вставить мой скрипт в index.php вашего шаблона

К сожалению не работает у меня.  Если я правильно понимаю, что если раскомментировать     JError::raiseError(404, 'Not Found');  и закомментировать     // JFactory::getDocument()->setMetaData('robots', 'noindex');      то по адресу /index.php/category/25-item/25-item  вылететь должна 404   ?   А у меня страницы так и открываются по адресам
/index.php/category/25-item/25-item
/index.php/category/25-item/25-item/25-item
/index.php/category/25-item/25-item/25-item/25-item 

Может неправильно вставил в index.php :    Ваш код я пробовал разместить перед body, в head, в начале и в конце кода между

  <?php
...................
?>
Записан
Artem-rostart
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #9 : 11.06.2016, 18:31:47 »

А еще ищу сейчас как для страниц по тегам сделать адрес 
site.ru/с-питанием
или
site.ru/s-pitaniem   
вместо   
site.ru/index.php/category/item/tag/С%20питанием

Кто подскажет четкий вариант?

*****

И в продолжении:

не срабатывает 301 редирект в htaccess  в виде

301 redirect /index.php/category/item/tag/С%20питанием /index.php/s-pitaniem

видимо из-за пробела %20 , а как его по другому оформить, чтобы сработало?

Записан
Artem-rostart
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #10 : 11.06.2016, 19:01:08 »

Попробовал и обнаружил, что сайт спокойно себе работает на страницах 
http://site.ru/index.php/item
http://site.ru/index.php/index.php/item
http://site.ru/index.php/index.php/index.php/item

Вот жешь  жесть!   

Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet