I have a page that takes a URL parameter, matches it to a field in a list, and displays a different page for each list item.
I want the parameter values to be easy for humans to read. For this reason, I don't want them to have spaces in them. As well as using this to create the page through a URL parameter, the field is used to dynamically link to the generated pages.
However, I also need to have a field containing an unescaped version of the parameter for other purposes. So rather than enter two very similar values for each list item, I would rather enter one with spaces, and have the second generated dynamically.
A calculated column is theoretically one option. However SharePoint doesn't share Excel's SUBSTITUTE function, and using a REPLACE and SEARCH based equivilent can only replace the first few spaces because SharePoint has a nesting limit for functions.
I may be able to use the IIS URL Rewrite tool to solve this problem, but I'm not sure how. An important requirement is to have a way of pages being able to look up the address of a list item's page in that list.
I could use a unique ID that doesn't need escaping, but then the URLs would give less information to search engines.
What is the best practice for generating URLs for dynamicaly generated pages?