I thought this was a non typical use and asked the question in the zulip chat

The use case is where in the code base there is an extra folder /html which contains some extra files. I am trying to create a menu link in Backdrop to a file in that folder. I get the error The path '/html/test.html' is either invalid or you do not have access to it. regardless if the leading / is present or not. Is there some way I can allow this? It also does not work if I move the folder html inside the files folder.  However, I am able to access the file with https://domain/html/test.html but unable to create a menu inside backdrop to access it.

Through the zulip chat I was made aware of a backdrop contrib module that allows adding items to extra sub folders from the files folder: https://backdropcms.org/project/file_menu_items which provides a solution.

Also, through the discussion @klonos mentioned a drupal module that is much more complex than my needs. It is available for Drupal 10 and there is a Drupal 7 version that could be ported if there is interest. I thought I'd mention it here for others to see and weigh in on their interest.

the GovCMS distro had the optional https://www.drupal.org/project/minisite module included for use cases similar to this.

Allows to upload and archive with a 'minisite' files and serve it from a Drupal website, while maintaining the minisite's look and feel.

The pages can be served from the location in the public or private files directory or from an alias set on the parent entity (where the field is attached to).

Please note that this module does not actually import the minisite pages as Drupal nodes.

A minisite is a small website with a narrow subject focus, also known as microsite or sitelet.

...Aussie gov departments frequently had some sort of "campaign" about something temporary, for which they usually needed some different style to the one used in the main site. They did not want to purchase a new domain and new hosting though - they wanted to reuse their existing sites ...also usually there were budget constrains, so converting their site to a multisite for the purposes of these short-lived campaigns did not seem practical ...hence that module

...the D7 version of the module might have been removed from the dorg page, but it existed: https://www.drupal.org/project/minisite/releases/7.x-1.2 (so we could port it if we wanted)

Looking at the information on the drupal module, it includes handling of zipped storage that is unzipped on the fly while checking for extensions that are not allowed, possibly also anti-virus checks and aborting if these are detected.

Let's see what others think about the need for such a module in Backdrop.

Most helpful answers

It is logical that the system checks all the paths entered in the field and this is correct.

Another option, which may not be the best, is to add an item using Jquery or create your own HTML menu markup in a custom block. The option is more likely for a static menu.

Or, if there are a lot of links, you can create a list of links using a taxonomy, and display this list using Views as a bulleted list. This option can be edited from the admin panel.

Comments

This menu item opens test.html without any problems. Or did I misunderstand something?

@Enthusiast Sorry, I did not explain well enough. If you use a relative path /html/test.html it fails. That was the issue. Using the full path works, but not fully movable to another environment. The backdrop contrib module allows using a relative path to the /files/html/ directory. Also, a symlink might be used from there.

Sorry to chime in so late, but I think I see the problem:

/files/html and /html/test.html are both absolute paths given the forward slash at the start, meaning the system would be looking for the directory "files" or "html" at the root level of the filesystem ("/").

What I think you want is:
./files/html and ./html/test.html, or
files/html and html/test.html
with the first indicating that the path starts at the current directory ("./") and the second without the leading forward slash telling the system to search for "files" and "html" directories within the current working directory.

If these directories are in the web root directory, the real absolute path would be something like /home/username/public_html/files/ on a RHEL-type system.

My guess is that this is why the full URL path worked, but the shorter versions did not. Apologies if I'm telling you something you already know or figured out!

It is logical that the system checks all the paths entered in the field and this is correct.

Another option, which may not be the best, is to add an item using Jquery or create your own HTML menu markup in a custom block. The option is more likely for a static menu.

Or, if there are a lot of links, you can create a list of links using a taxonomy, and display this list using Views as a bulleted list. This option can be edited from the admin panel.