Site Structure URL pointing.
Hi Stephen,
Thank you for using our services.
We had a url rewrite module in Sitefinity 3.x which would handle such requests. However we have decided not to introduce on in Sitefinity 4.0 as the one built in IIS is much more flexible and usable. You can check it out here: http://www.iis.net/download/urlrewrite.
Greetings,
Radoslav Georgiev
the Telerik team
Dear Radoslav
Some of us are on shared hostings and have not to much access to IIS.
Markus
Hello Markus Berchtold,
Thank you for joining the conversation.
Can you confirm that on shared hosting the hoster does not allow you to use the UrlRewrite module of IIS? Generally UrlRewrite module can be configured from web.config, also rewrite rules are configured from web.config. So basically if your hosting service provider has the module installed you should not need access to IIS to configure it.
Sincerely yours,
Radoslav Georgiev
the Telerik team
Is the IIS URL Rewrite Module only in IIS 7?
Hello greg,
Microsoft URL Rewrite Module requires IIS 7.You can take a look at System Requirements section for URL Rewrite Module
Regards,
Ivan Dimitrov
the Telerik team
We won't be using IIS 7 on our web server.
Is it possible to use the ASP.NET4.0 URL Rerouting by putting code in the global.asax file like this?
protected void Application_Start(object sender, EventArgs e)
RegisterRoutes(RouteTable.Routes);
void RegisterRoutes(RouteCollection routes)
routes.MapPageRoute("PromoRoute",
"test", "~/promo");
Hi greg,
Yes you can use custom route handlers that registered in Global.asax in Application Start event handler. As a matter of fact that is what we use in Sitefinity to serve the dynamic pages - we rely heavily on the ASP.NET 4.0 Route handlers. We are also going to release a url rewrite module in Sitefinity which is going to use the route handling to handle alternative urls.
Kind regards,
Radoslav Georgiev
the Telerik team
Thanks. Is this working in the RC?
Hello greg,
In the RC there is no UrlRewrite module. We are going to work on UrlRewrite module Q1/Q1 2011
All the best,
Ivan Dimitrov
the Telerik team
Hi,
please provide status on the URL rewrite and would be great to have a simple sample when available.
Thanks,
JH
Hi JH,
With the Q1 2011, we are going to provide new page types, and API for working with rewriting of URLs. Here is the list of pages types coming:
1. "Standard": Standard page with page data.
2. "Group": Group page without page data.
3. "External": External aspx page from the file system. It's outside of Sitefinity but it is inside of the web site. The page node has a page data object with ExternalPage property set.
4. "InnerRedirect": Redirect inside of Sitefinity (redirecting page). The page node has no page data but keeps the id and the provider of another page node (linked page). It uses the lifecycle and multilingual versions of the linked page. A request to the URL of this page performs permanent redirect to the linked page. In the navigation control the URL of the linked page is rendered instead of the URL of the redirecting page.
5. "OuterRedirect": Redirect outside of Sitefinity. The page node has no page data and permanently redirects to a page from the web. The URL of the linked page is stored in the RedirectUrl property of the PageNode. Supports multilingual, i.e. different URLs for the different languages.
6. "Rewriting": Rewrite inside of Sitefinity. Same as InnerRedirect but loads the page data of the linked page, i.e. the page data is reachable by two URLs. Accessible only through API.
Greetings,
Georgi
the Telerik team
Dear Georgi
Once again great news.
You might want to think about the naming having non technical end users in mind.
- Normal Page (displays own content)
- Page Group (redirects to its first subpage)
- Internal Sitefinity Link (links to a Normal Sitefinity Page)
- Internal Link (links to a page outside Sitefinity but withing the own domain: .aspx, .html )
- Externel Link (links to any page of the web: http://www... )
Or anyhting like it. I guess your UI team will work something out - Just keep endusers in mind :-)
Markus
Hello Markus,
Sure, this is how we name them on a technical level. Our UX will come up with friendly names. Just like Controls vs. Widgets :)
Greetings,We are currently writing a client portal by bypassing sitefinity and pointing to a page in a subdirectory. This currently works, but to allow the site admin to build a custom secure menu (links storedin the database and builds SAML orTemplated URL) we have allowed them to create a menu structure in the backend pages menu. In the pages is a custom widget that stores the url info in the database. We are attempting to "Shadow" this menu by using the API, creating sitemap objects for the Block Navigation menu. The menu control pulls the data from the api and redirects them to "~/portalmenushadow/linkid". A HTTPHandler looks for the "portalmenushadow" directory in the url and redirects the navigation to the url that was built from the database id.
Yes it is over complicated and don't even get me started on the CustomAllowRoles and CustomDenyRoles involved. but it is a requirement and the only way we say to achieve it. How will the new Routing engine help us simplify this? Also when is Q1 set to be released and are you sure that this will be in the release. Telerik has been notorious lately for saying a feature will be in a release and it doesn't make it.
Thanks,
JT
Hello John Tolar,
The routing engine is yet another approach for handling web requests. It provides a more coherent and flexible way to handle requests then URL rerating engines, but in its essence does the same thing. I’m not sure I understand correctly your scenario, but it seems the routing engine is the right way to go.
Below is an example how you can modify routes in Sitefinity:
(Global.asax)
void
Application_Start(
object
sender, EventArgs e)
Telerik.Sitefinity.Abstractions.Bootstrapper.Initialized +=
new
EventHandler<Telerik.Sitefinity.Data.ExecutedEventArgs>(Bootstrapper_Initialized);
void
Bootstrapper_Initialized(
object
sender, Telerik.Sitefinity.Data.ExecutedEventArgs args)
if
(args.CommandName ==
"RegisterRoutes"
)
var routes = (System.Web.Routing.RouteCollection)args.Data;
var route = routes[
"LibraryItems"
];
var idx = routes.IndexOf(route);
routes.RemoveAt(idx);
routes.Insert(idx,
new
CustomLibraryRoute());
Q1 release is scheduled for April 13th. Routing is available from the first release of 4.0 and there i
s nothing new in the upcoming Q1 release in that regard. The features that Georgi is talking about are already completed and definitely will be available in Q1.
To clarify a bit on the features, they represent user interface for setting simple URL rewrites and redirects. These features allow you to do mappings of old URLs to new ones or have additional URLs for the same content. If you want to apply some rules or extend with additional logic you have to do it either by adding custom routes or configure IIS rewriting engine.
Does anyone know if the features talked about that have to do with putting the redirection and rewrite options in the UI were ever implemented. I know there is a redirect option but it doesn't allow for anything special that I know of.
Hi Ray,
At the moment the advanced URL rewriting feature is not implemented in Sitefinity 4.x. You can use the Additional URLs feature for pages and content items. This allows you to define legacy URLs for which can either perform 301 redirect or keep your resource accessible from the old URL (not good in terms of SEO).
The other option is to use url rewrite modules such as UrlRewriter.NET. This allows you to use regular expressions to handle the URL before the request reaches Sitefinity.
Regards,
Radoslav Georgiev
the Telerik team