How to allow flexible Redirect Urls for pages in Sitefinity
How to allow flexible Redirect Urls for pages in Sitefinity
If you are to create a Redirect page in Sitefinity you have two options: either select a page from the existing pages or redirect to a URL. If you select the latter, then Sitefinity validation forces you to enter a url that starts with either http or ftp (or their secure equivalent).
But if you wanted to put a relative path, e.g. /my-choice it won't allow you.
This is how to overcome it - the validation rule is driven by a regex that looks like this:
It is stored in a Label with a key of "UrlValidationRegex".
So what you need to do is just go to Administration > Labels and Messages and search for that key.
What I would normally do is to give full flexibility and control to this to my users, so I simply replace the above regex with .*
This allows me to put anything I want in the redirect page dialog:
But if you wanted to put a relative path, e.g. /my-choice it won't allow you.
This is how to overcome it - the validation rule is driven by a regex that looks like this:
^(https?|s?ftp):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&
'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'
\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&
'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'
\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(
#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$
It is stored in a Label with a key of "UrlValidationRegex".
So what you need to do is just go to Administration > Labels and Messages and search for that key.
What I would normally do is to give full flexibility and control to this to my users, so I simply replace the above regex with .*
This allows me to put anything I want in the redirect page dialog: