Install with sample data
In Global config set 'Adds Suffix to URL' Yes
Visit the frontend and navigate to any page
Remove the .html and press enter
The url will show with .html appended
After removing the .html and pressing enter the .html should be appended again
The url will show with .html appended
After removing the .html and pressing enter the page displays but the url does not have .html appended
This is working as intended
Category | ⇒ | Router / SEF |
While working as intended, IMO it's really one of those inconsistent and goofy behaviors that might be good to one day create a "fix" for (which should honestly just be a simple plugin but with the magical black box known as Joomla's router who knows...).
Status | New | ⇒ | Confirmed |
If 'Adds Suffix to URL' is working as expected when set Yes then it is not working as expected when set No. Because when set No then www.site.com/page.html the .html is removed when the page is reached.
Either both settings (Yes and No) add .html or remove .html (respectively) ... or .html and .html are not changed by either
Also 'Adds Suffix to URL' set No prevents code in the .htaccess from converting non .html to html
It is a bug because it prevents the user from forcing non .html being displayed as .html !!!
Priority | Medium | ⇒ | Low |
I think this is a real bug, search engines see these url's as different and think it is duplicate content and penalize all joomla sites
This is probably something to address for 4.0. IMO it is too risky to try and change the behavior in 3.x because it will change URLs (even if most would be redirected sufficiently by default) and system behaviors (if you arbitrarily redirect non suffixed to HTML suffixed you could possibly break URLs not supplying a suffix but expecting JSON views).
Yes, this can be described as a bug and should be fixed, But this is also something that we should indeed not be doing in 3.x and instead in 4.0. If you look at the code in 4.0, the change is pretty easy.
I totally agree with @tarakbz answer, and is not a real error is a fatal error, because if we select the option to add html suffix in our URLs is to have the suffix in the URLs, but if you access the URL by removing the .html you also access the URL but it is not the same. Also if you access the URL by placing a "/" you can access the URL. But in short they are 3 different URLs. The result would have to be that you could only access the URL with the .html at the end and the rest that made a redirect to the real URL or in your case a 404 error, although I think the redirection is better.
@Los-Carnales You are right that this is an issue, but we can't really do anything about that in 3.x, since otherwise you are breaking existing behavior. It might be wrong, but there is simply too much code out there that depends on this behavior. 4.0 is the place to fix this.
@hackwar Thanks for your answer, but suppose there are thousands of websites with Joomla 3.x and when they release the version 3.8 that the modern Router carried by you, they will continue to have the same problem or repair this problem. Think that not always users of Joomla update their sites with the latest version, so if you do not get on the car of version 4 will be lost with the almighty Google.
You tell me that 4.0 is the place to fix this, but when will you publish Joomla 4.0 stable?
I also want to mention the comment I made on your github account: Redirect legacy routes to modern routes.
Sorry for these issues, but not these issues are very important not only for this humble server, but for a Joomla community that has both end users, developers, webmasters, publishers, etc ... to which this can influence them and Much in their work.
The problem isn't fixing this issue. The problem is fixing this issue comes with side effects and breaks existing behavior in a non-compatible way. Per our development strategy, that constitutes a backward compatibility break and can only be included in a X.0 release (so 4.0).
As a short term solution, there is probably a way to build a plugin you can install on your site(s) to address this, but for the core API we cannot make such a potentially breaking change without breaking our promise to the community of not breaking backward compatibility except for major releases which allow it. This is a long lived behavior in the core of Joomla and changing it can and probably will break existing sites and extensions in ways we can't yet know.
@mbabker thanks for your answer and clarification, I will continue to wait for 4.0 and get good changes.
Supporting @mbabker here. Our main problem is, that the routing code of Joomla currently has a metric shitload of unreadable code in it, which you also can not override. At the same time, we can not change this without breaking some sites. However, when you look in the 4.0-dev branch, you can see that JRouter and JRouterSite have been heavily modified and that the code is a lot better to read. At the same time, all behavior is now replaceable and can be switched on or off with a plugin. The way it is set up in the 4.0-dev branch, the Joomla core can now also "drop" functionality in a backwards compatible way whenever we want. We simply can add additional routing rules and not include old ones on startup and provide switches for the different rules. That should prevent us from ever running into the current situation again. Worst case: We get a bunch of additional settings, most of which we can drop again when we are at the next major release (5.0 in this case). But we do have this on our radar.
@mbabker and @Hackwar ,
But when the Joomla 4.0 version comes out, will we continue to encounter this problem or will you have already fixed this?
And the compatibility of URLs that will be generated by the Joomla kernel when creating URLs from an external component? Will continue to generate URLs without SEF correctly, except that we create these URLs by assigning them to the component in question and then repeating the operation by creating a link to the component from a menu item.
Why in Joomla we continue to depend on the Menu to generate correct URLs or that everything works well, saving the exception of creating a Joomla article, because if you do it from a component, it always gives problems.
The menu system is the main part of Joomla. This defines which component to use and we are completely dependend on this. Joomla will (hopefully) never change this. If you don't like this system, then please use Drupal. They have the alternative to our system, namely creating nodes (=menu items) for everything.
I do not know what 4.0 will contain. The code is not written and I personally have little time and energy to further work on this, considering the feedback that I got and the really exhausting struggle all of this was so far. You would have to find another idiot willing to write the code and go through this Sysiphean work of having the Joomla project accepting these changes.
Why in Joomla we continue to depend on the Menu to generate correct URLs or that everything works well
Well that's Joomla's foundation. The so called architecture. As @Hackwar said if you don't like it wp and drupal use different approaches. But honestly Joomla is very similar to your file system (NTFS/HFS) Think directories as categories and files as items, articles, contacts etc...
And it's extremely easy...
I'm testing the 4.0-dev branch in localhost, but I see that there's still the same issue discussed above about activating the default .html suffix.
If you activate add the suffix to URL you can access the URL either with (.hml without .html or by removing .html and placing "/").
If you deactivate adding the suffix to URL you can access the URL either with (without .html or by placing "/"), if you access the URL by placing a .html error "The requested page can not be found."
I do not know if it's because this is still under repair or it will be stable version 4.0.
This is truly frustrating, since we can not organize or prepare our Joomla sites for the upcoming releases.
How can prepare your roadmap a: Webmaster, end user or a company dedicated to making pages with Joomla, if we can not really know what we will find in the next version.
I have been betting on this CMS since its inception and I do not know that WP or Drupal is an alternative, I also understand that MENUS are the main part of Joomla, although from my point of view I think it is a mistake, but of course this is what Decided for years within the project and core Joomla.
My comments are not to throw down Joomla, always to try to improve the system and benefit the whole community. I know that it is not easy to develop the code in Joomla, but I think that after all the versions we have seen so far, cases like the one presented in this Issue would have to be soloed faster and not drag queue from past versions.
We said it can be changed in 4.0, not that it had already been changed. If it had already been changed, it would have been explicitly stated.
@mbabker thanks again for your reply.
Well it will be good to wait for it to be expressed explicitly :).
So far all the links I'm testing on localhost with both the 3.8-dev branch and the 4.0-dev work correctly with the modern router, saving the issue discussed in this Issue.
Status | Confirmed | ⇒ | Discussion |
@csthomas can you have a Look?
Status | Discussion | ⇒ | Information Required |
The solution for old routing is to use 3rd party system plugin to correct URLs.
Once you eliminate the inconsistency / duplication of URLs, going to modern routing will not be difficult.
So far all the links I'm testing on localhost with both the 3.8-dev branch and the 4.0-dev work correctly with the modern router,
If the modern routing works as expected then what joomla can do more for this issue?
If you are thinking about B/C support for old URLs, then there is a place to do that.
It may be one more system plugin per component (or an option in component) that parses old URLs and redirects them to new ones.
Do i get it right to let it as is in 3.*?
In old stable routing let it as it is.
IMO for modern URL routing in 3.x, joomla can add parsing support for old URLs (also invalid) and redirect them.
Status | Information Required | ⇒ | Needs Review |
Status is set on "Needs Review".
Labels |
Added:
J3 Issue
|
Labels |
Added:
?
Removed: J3 Issue |
Set to "Re-evaluate in Joomla 4" for the reasons stated above
Labels |
Added:
J4 Issue
|
Labels |
Added:
?
Removed: J4 Issue ? |
Labels |
Added:
?
?
No Code Attached Yet
Removed: ? ? |
Labels |
Removed:
?
|
Hi,
I can confirm the bug still exists in Joomla 4.
Both:
https://www.its-acoustique.fr/fr/isolation-insonorisation.html
and
https://www.its-acoustique.fr/fr/isolation-insonorisation
pages work creating duplicate content in the Google Search Console (and probably in Google SERP).
Still no fix on this?
Status | Needs Review | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2024-02-21 15:46:26 |
Closed_By | ⇒ | richard67 | |
Labels |
Added:
Feature
Removed: ? |
The suffix just specifies the format in which the page should be delivered which defaults to HTML. So if there is no suffix, HTML is assumed.
I don't see an issue with that behaviour.
Otherwise we would have to do a redirect to force the suffix.