URLs are Directories
Just a friendly reminder that URL paths are directories.
Just a friendly reminder that URL paths are directories. When you have an URL pathname that looks like
/user/item/4, there’s an implicit understanding that
/user/item are also valid URLs. The underlying folder structure looks like this:
└── user └── item ├── 1 ├── 2 ├── 3 └── 4
If you don’t want to create extra index pages, use
- instead. E.g.
user-item-4. There is nothing inherently better about using
/ instead of
-, but the later comes without the implicit suggestions that there is an underlying folder.
├── user-item-1 ├── user-item-2 ├── user-item-3 └── user-item-4
This may not matter for consumer-facing sites, but there’s plenty of developer sites that get this wrong, too:
GitHub will give you URLs like
└── qwtel └── hydejack └── tree # THIS FOLDER DOES NOT EXIST └── v8 # WE PUT THINGS IN IT ANYWAY
npm will give you organization-namespaced package URLs like
/package/@platformparity/streams, but the organization pages don’t exist.
For some extra fun try
/package, which — instead of returning a list of all packages — will redirect to
└── package # symbolic link ├── package # with folders in it └── @platformparity # some of which don't exist └── streams # but have stuff inside anyway 🤷♂️
permalinkstructure looks like
/2018/06/06/urls-are-directories, but no pages for
/2018/06/06are created. The proper URL is
/ has a special meaning in path names, while
- does not. When you need to visually separate parts of your URL, but have no plans of introducing extra index pages, use