My application relies heavily on the hierarchy of its entities and the hierarchy also gives needed context to the entities details page. Hence my current URL scheme represents the hierarchy: /grandparent/parent/child
Since I'm working towards having everything be user created content, the nesting is bound to change from time to time. But I really hate dead links, so I think my options are:
- append
-[ID]to every URL and redirect the path if an already changed path is opened - same as above but without the path (URL would only change, when the name of the entity is changed
- track all the path changes and redirect to new path if an old path is opened. This might get weird, when a new entity has a path that once existed. I would need to display a message saying, that the user possibly meant to visit a different resource that once was at that location
I like the third option insofar as the URLs stay clean and ID free, but I think the first option is the most solid one. Am I missing something?