Расширение виртуальных доменов не генерирует правильные URL на Joomla 3.7.1
Я обновлял свой Joomla 3.6.5 до 3.7.1 на моем тестовом сайте. Я заметил, что расширение "Виртуальные домены" начало генерировать недоступные URL-адреса для статей, которые делятся между различными сайтами.
Хотя формирование URL-адреса на дополнительном домене все еще верно, домен по умолчанию генерирует странный URL-адрес с момента обновления.
Теперь он формирует URL следующим образом: [домен]/ компонент / контент /[ID-дочерняя категория]/[псевдоним ID-статьи]?Itemid=501
Это приводит к 404.
Без включенного SEF-URL, URL создается следующим образом: [домен]/index.php?option=com_content&view=article&id=[идентификатор статьи]:[псевдоним статьи]&catid=[идентификатор категории]&Itemid=501
С этим URL статья отображается правильно, но не модули, назначенные пункту меню. Крошка показана, но содержит только главную страницу.
У меня нет других расширений SEF, кроме стандартного Joomla.
Что изменилось в Joomla 3.7.1, что вызывает такое поведение и как его можно изменить?
1 ответ
В Joomla 3.7 планировалось представить новый маршрутизатор, который позволяет удалять Id из сгенерированных URL; это потребовало огромных усилий, но в последнюю минуту оно было удалено с 3.7 и сдвинуто до 3.8, подробнее об этом можно прочитать здесь
Как следствие, маршрутизатор должен вести себя так же; но некоторые изменения влияют на то, как создаются URL-адреса даже в 3.7, поэтому любой компонент, который изменяет маршрутизатор, должен пройти повторную проверку на совместимость.
Боюсь, что поменять его не рекомендуется. Изменено немало файлов ядра, и если вы начнете взламывать ядро в Joomla, вы будете тратить бесконечные часы на каждый новый выпуск.
Вы должны остаться с 3.6.5 на своем рабочем сайте и поработать с разработчиком расширений, чтобы решить эту проблему.
--Обновить--
Я написал Майклу с сайта janguo.de, но все выпуски на сайте старые, последний выпуск 4-5 лет назад, все ссылки на форумах устарели, и может потребоваться определенная работа, чтобы выяснить, что нужно, и обновить расширение.
Это может занять неделю (ы), пока не будет найдено правильное решение. Даже если бы сам Майкл работал над этим проектом, вы должны ожидать, по крайней мере, 2-3 недели, прежде чем у вас будет проверенная версия, которую можно безопасно установить. С сторонним разработчиком, даже дольше.
В то же время, вы можете справиться с чрезвычайной ситуацией с
.htaccess перенаправляет
блокировать шаблоны или удалять части URL (т. е. если новые URL содержат дополнительный параметр или добавляет новый уровень навигации, вы можете исправить это там). Это будет очень жестко и трудно поддерживать, но оно переназначит все дубликаты URL-адресов на их "официальный",
канонический
добавьте тег в свою разметку, чтобы поисковые системы знали, что это всего лишь копия (это довольно эффективно, если вы можете правильно рассчитать URL-адреса из шаблона / компонента). Тег выглядит так:
<link rel="canonical" href="https://yoursite/yourpage" />
Карта сайта
Это используется в качестве альтернативы для определения канонических URL-адресов поисковыми системами, убедитесь, что у вас есть один и что он рекламируется в robots.txt
(и назовите это /sitemap.xml
это ускорит чтение в поисковых системах).
Удачи!
Обновление до версии 1.4.1, которая поддерживает PHP 7.1 снизу. Пока что это работает у меня хорошо, и я думаю, что мы можем приложить усилия, чтобы продвинуть его вперед.