Confused about paths on shared hosting server

Hello folks,

I just finished the step-by-step guide, which worked great on the local server, but when I uploaded the project to a directory on a remote server, after using JEKYLL_ENV=production bundle exec jekyll build, all of the links point to the server root instead of the directory I uploaded to. Of course, that means none of the links to anything work.

Why doesn’t the upload respect the uploaded directory as the site’s root? How is it dropping down a directory level?

I added permalink: /markdown/ (the site directory name) to _config.yml, but that does nothing. I’m really not sure what permalinks are supposed to do, but it was something to try.
I was expecting the site build to maintain the folder structure rather than somehow redirect to the root directory.

Any help would be appreciated.
Thank you.

Sounds like you are serving from a sub directory called markdown?

if so you need to use baseurl - with the value of /markdown, then you prepend baseurl (or better yet relative_url) to all your urls. That or hard code the urls to include /markdown but that is not the best idea.

Fairly sure it is common for a webserver to interpret the leading slash of any url as the root of the server.

Permalinks are a little different and have to do with the form/pattern of the url. Interesting idea to put the sub directory name in it, almost seems like it could work for some pages but permalinks I think work differently for pages vs posts. Don’t try to do it with permalinks, not what that was designed for.

this may help, or google jekyll baseurl


I had the baseurl: set since my post, but it was the filter I was missing.
The {{ whatever.url | relative_url }} filter did the trick.

Thank you very much.