1 / 14

URL rewriting and processing in Kentico CMS

Webinar 10/21/2009. URL rewriting and processing in Kentico CMS. Martin Hejtmanek (CTO), martinh@kentico.com. Topics. Document name vs. alias What is an alias path? Document aliases and URLs Permanent vs. user friendly URLs URL priorities URL extensions / extensionless mode

niveditha
Télécharger la présentation

URL rewriting and processing in Kentico CMS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Webinar 10/21/2009 URL rewriting and processing in Kentico CMS Martin Hejtmanek (CTO), martinh@kentico.com

  2. Topics • Document name vs. alias • What is an alias path? • Document aliases and URLs • Permanent vs. user friendly URLs • URL priorities • URL extensions / extensionless mode • How does URL rewriting work? • Difference between Portal and ASPX page template processing • File processing and URLs • Wildcard URLs

  3. Document name vs. alias • Document name – Nice and friendly name • Home • About us • Domů (czech) • بيتنا(arabic) – found on Google  • Alias – Form of the document friendly for URLs and clients • Home • About-us (without spaces) • Domu (without punctuation) • Bayt (english pronunciation)

  4. What is an alias path? • Document aliases connected with / • / • /Home • /Products/Phones-and-TVs/Nokia-9910 • /News • /News/News-1 • /News/News-2 • Selecting document by alias path (TreeProvider.SelectNodes) • /Home = Document “Home” • /News/% = All children under “News” document=> WHERE NodeAlias LIKE ‘/News/%’ • %/Best = Any document with alias “Best”

  5. Document aliases and URLs • NodeAliasPath = Default document alias = Location in the tree • Alias path, all cultures of document share one • Created automatically from aliases on the path • DocumentURLPath = Alternative path for the document • URL path – Customizable per culture version • If defined, is handled as the main document URL • Defined automatically (based on document names on the path) • Defined by the editor (any path) • Document aliases (from in 4.0) • Any number of additional aliases (locations for the document) • All cultures / per culture • Document extension – Main / defined for aliases (.jpg, .gif, etc.)

  6. Permanent vs. user friendly URLs • Permanent URL - Will work any time in future • /getdoc/eb1b5175-d7e6-479e-a19e-dbd6be035c16/home.aspx • Contains NodeGUID which identifies the document • Friendly URL (easily readable) – May not work in future if you change the document alias(es) • Based on Alias path / URL path / Aliases • /Home.aspx • /News/News-1.aspx • Friendly with configured friendly URL extension • /News/News-1.html • /News/News-1 (extensionless) • /Files/Home.jpg (CMS.File document with specific extension)

  7. URL priorities • 1) Searched by URL path (if found, specifies also the culture) • 2) Searched by Alias path (uses current culture) • 3) Searched by Document aliases (uses current culture) • Wildcards (later)

  8. URL extensions / extensionless mode • Settings -> URLs -> Friendly URL extension (works anywhere) • .aspxby default -> /Home.aspx • You can configure any extension, see documentation • .htm -> /Home.htm • Extensionless mode (friendly extension is empty) • (none)-> /Home • Other than default processed with the handler page in Kentico • ~/CMSPages/handler404.aspx • Document can override the default extension in its properties

  9. How does URL rewriting work? 1) Request from client /Home.aspx?abc=def 2) AuthorizeRequest -> RewriteURL(…) does RewritePath to: 2a) Portal template /CMSPages/PortalTemplate.aspx?abc=def&aliaspath=/Home Page loads the controls dynamically from XML of the template 2b) ASPX template /<template path>?abc=def&aliaspath=/Home Controls are already on the page template defined with ASPX 3) Controls load their content using their settings or context values NOTE: With 404 handler, the IIS serves …/handler404.aspx?aspxerrorpath=/Home.aspx?…

  10. Difference between Portal and ASPX • Portal engine (templates) • One shared physical template for all pages (dynamic) • All controls loaded dynamically and hierarchically • Completely built on Kentico CMS engine (can be developed through browser) • (control over visual inheritance) • ASPX page templates • Different physical templates for different pages • Content of the template is defined statically by the ASPX code • Development in Visual studio • Control over the entire page (can completely change the default page behavior) – Not really necessary in 99% of cases

  11. File processing and URLs • GetXYZFile scripts • CMS.File – Accessing with same path as document • /Files/logo.aspx -> /CMSPages/GetFile.aspx?nodeguid=<guid>(document node GUID) • Other files • Document attachments - /CMSPages/GetFile.aspx?guid=<guid>(attachment GUID) • Object attachments - /CMSPages/GetMetaFile.aspx?guid=<guid>(metafile GUID) • Media files - /CMSPages/GetMediaFile.aspx?fileguid=<guid> (media file GUID) • etc.

  12. Possible file URLs (based on settings) • Document files (CMS.File only) • Document path /Files/logo.aspx • Permanent document path /getdoc/<nodeguid>/<anyname>.aspx /CMSPages/GetFile.aspx?nodeguid=<nodeguid> • Document attachments (any document) • /getattachment/<nodealiaspath>/<filename>.aspx • /getattachment/<attachmentguid>/<anyname>.aspx • /CMSPages/GetFile.aspx?guid=<attachmentguid> • Meta files (object attachments) • /getmetafile/<metafileguid>/<anyname>.aspx • /CMSPages/GetMetaFile.aspx?guid=<metafileguid> • Media files • /getmedia/<mediafileguid>/<anyname>.aspx • /CMSPages/GetMediaFile.aspx?fileguid=<mediafileguid>

  13. Wildcard URLs (new in 4.0) • Document /DisplayProduct • URL path (alias) /Products/{name} (doesn’t have to match alias path) • Translates as /DisplayProduct.aspx?name=<value> • /Products/Nokia-9110 /DisplayProduct.aspx?name=Nokia-9110 • More complicated wildcards /{country}/Hotels/{hotel}/Menu /Czech/Hotels/Grand/Menu /DisplayMenu.aspx?country=Czech&hotel=Grand • Similar to ASP.NET routing • Processed within the rewriting chain in matching wildcard found

  14. Q&A • Now is the time for your questions • The webinar recording will be available on our new Partner portal and later on the DevNet.

More Related