Virtual Domains extention not generating correct URLs on Joomla 3.7.1

836 Views Asked by At

I have been upgrading my Joomla 3.6.5 to 3.7.1 on my test site. I noticed that the extension 'Virtual domains' started to generate inaccessible URLs for articles that are shared between different sites.

While the URL-formation on the secondary domain is still correct, the default domain generates weird URL since the upgrade.

It now forms the URL as follows: [domain]/component/content/[ID-childcategory]/[ID-Article Alias]?Itemid=501

This results in a 404.

Without SEF-URL enabled, the URL forms as follows: [domain]/index.php?option=com_content&view=article&id=[Article ID]:[Article Alias]&catid=[Category ID]&Itemid=501

With this URL, the Article is displayed correctly but not the modules assigned to the menu item. The breadcrumb is shown, but contains only the main page.

I don't have other SEF extentions in use apart from the default Joomla one.

What has changed in Joomla 3.7.1 that causes this behaviour and how can it be reversed?

2

There are 2 best solutions below

2
On

Joomla 3.7 was planned to introduce the new Router, which allows to remove the Id from the generated URLs; this required a massive effort, but it was removed from 3.7 and pushed to 3.8 at the last minute, you can read more about it here

As a consequence, the router should behave the same; but several changes impact how urls are built even with 3.7, so any component that alter the router needs to re-test for compatibility.

I'm afraid reversing it is not advisable. There are quite a few core files changed, and if you start core-hacking into Joomla, you'll spend endless hours at every new release.

You should stay with 3.6.5 on your production site and work with the extension developer to fix the issue.

--update--

I wrote to Michael from janguo.de but all the releases on the site are old, last release 4-5 years ago, all the forum links are dead, and it may be quite some work to figure out what's needed and update the extension.

It may take week(s) until a proper solution is found. Even if Michael himself were to work on this project, you should expect at least 2-3 weeks before you have a tested version that is safe to install. With a third party developer, even longer.

In the meanwhile, you might handle the emergency with

.htaccess redirects

to block patterns or remove parts of the url (i.e. if the new urls contain an extra param or adds a new level of navigation, you can fix it there). This will be very rigid and hard to maintain, but it will remap all duplicate urls to their "official" one,

canonical

add the tag in your markup to let search engines know it's just a copy (this is fairly effective, if you can calculate the urls correctly from within the template / component). The tag looks like:

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

sitemap

This is used as an alternative to determine canonical urls by search engines, make sure you have one and that it's advertised in the robots.txt (and name it /sitemap.xml this will make it faster to read by search engines).

Best of luck!

0
On

Update to version 1.4.1 which supports PHP 7.1 from below. It is working well for me so far and I think we can get an effort going to move it forward as well.

https://github.com/smehrbrodt/virtualdomains