in reply to Wrong URL, failed redirection when using the mod:// with sections (hashes)

Ah yes, the joys of URL encoding. Had to solve a similar problem in my own webserver software. Technically, it has to treat the URL in parts, encode them seperately and join the parts with the currect delimiters.

What is happening here is that the hash sign # gets encoded when it shouldn't be if i remember my HTTP specs correctly. This is a common problem and some browsers provide workarounds, some don't. Plus, some websites/webservers also have workarounds for some (though not all) encoding problems.

What's even more vaxxing about this specific issues is that part of the URL needs to be parsed by the webserver and a part of it (the #make_schema) is to be interpreted by the browser as a hint to scroll down to a specific line in the returned document.

I technically have the rights to fix this in the PerlMonks code, but i have absolutely no idea where the encoding of URLS is happening.

PerlMonks XP is useless? Not anymore: XPD - Do more with your PerlMonks XP
  • Comment on Re: Wrong URL, failed redirection when using the mod:// with sections (hashes)

Replies are listed 'Best First'.
Re^2: Wrong URL, failed redirection when using the mod:// with sections (hashes)
by jdporter (Paladin) on Feb 27, 2023 at 15:22 UTC

    The place to start would be handlelinks settings. Scroll through the most recent patches, as I believe this fix has been made to at least one shortcut type not too long ago. Thanks!

    Today's latest and greatest software contains tomorrow's zero day exploits.

      I submitted a patch. If it actually works is anyones guess ;-)

      I'm fluent in Perl, but PM has it's own way of doing things. Aaaand it's officially my first real patch to PM. So far, i've been a "readonly" PMDev.

      PerlMonks XP is useless? Not anymore: XPD - Do more with your PerlMonks XP
        Thanks. Applied! My simple test shows it seems to work, but I'd ask that you/others test it more thoroughly. TIA!

        Thanks cavac++. It seems to work for me using the links in the post.