0

我一直在我的测试站点上将我的 Joomla 3.6.5 升级到 3.7.1。我注意到扩展“虚拟域”开始为在不同站点之间共享的文章生成不可访问的 URL。

虽然辅助域上的 URL 格式仍然正确,但默认域在升级后会生成奇怪的 URL。

它现在形成如下 URL:[domain]/component/content/[ID-childcategory]/[ID-Article Alias]?Itemid=501

这会导致 404。

如果未启用 SEF-URL,则 URL 格式如下:[domain]/index.php?option=com_content&view=article&id=[Article ID]:[Article Alias]&catid=[Category ID]&Itemid=501

使用此 URL,可以正确显示文章,但不能正确显示分配给菜单项的模块。显示面包屑,但仅包含主页。

除了默认的 Joomla 扩展之外,我没有使用其他 SEF 扩展。

Joomla 3.7.1 中发生了什么变化导致了这种行为,如何扭转它?

4

2 回答 2

1

从下面更新到支持 PHP 7.1 的 1.4.1 版本。到目前为止,它对我来说效果很好,我认为我们也可以努力推动它向前发展。

https://github.com/smehrbrodt/virtualdomains

于 2019-12-07T18:28:03.737 回答
1

Joomla 3.7 计划引入新的路由器,它允许从生成的 URL 中删除 Id;这需要付出巨大的努力,但它已从 3.7 中删除并在最后一刻推送到 3.8,您可以在此处阅读更多相关信息

因此,路由器的行为应该相同;但即使在 3.7 中,一些更改也会影响 url 的构建方式,因此任何更改路由器的组件都需要重新测试兼容性。

恐怕扭转它是不可取的。有相当多的核心文件被更改,如果您开始对 Joomla 进行核心破解,您将在每个新版本上花费无数时间。

您应该在生产站点上使用 3.6.5,并与扩展开发人员一起解决问题。

- 更新 -

我从januo.de给 Michael 写信,但该网站上的所有版本都很旧,上一次发布是 4-5 年前,所有论坛链接都已失效,找出需要什么并更新扩展可能需要相当多的工作。

可能需要数周时间才能找到合适的解决方案。即使迈克尔本人要参与这个项目,您也应该至少需要 2-3 周的时间才能获得可以安全安装的经过测试的版本。与第三方开发商合作,时间更长。

同时,您可以通过以下方式处理紧急情况

.htaccess 重定向

阻止模式或删除部分 url(即,如果新 url 包含额外的参数或添加新的导航级别,您可以在那里修复它)。这将非常严格且难以维护,但它会将所有重复的网址重新映射到它们的“官方”网址,

典范

在您的标记中添加标签,让搜索引擎知道它只是一个副本(如果您可以从模板/组件中正确计算 url,这是相当有效的)。标签看起来像:

<link rel="canonical" href="https://yoursite/yourpage" />

网站地图

这被用作由搜索引擎确定规范 url 的替代方法,确保您有一个并且在其中进行了广告宣传robots.txt(并命名它,/sitemap.xml这将使搜索引擎更快地阅读它)。

祝你好运!

于 2017-05-19T07:29:20.117 回答