title: How should I route CMS urls alongside optional paramters / actions in route config?
body: <p>I'm trying to add a basic CMS to an MVC website that uses a "url-formatted-string" as an ID for the CMS item.</p>
  
  <p>I've spent many hours trying to meet the requirements set out below. But now I'm wondering "Is it even possible to do this?"</p>
  
  <p>.</p>
  
  <p>The first thing is that I would like to support "out of the box" MVC urls.  </p>
  
  <pre><code>/news =&gt; NewsController.Index - I will set this to get the latest X items
  
  /news/create =&gt; NewsController.Create
  
  /news/edit/8 =&gt; NewsController.Edit - uses 8 as the id parameter
  </code></pre>
  
  <p>But I'd also like to support CMS items <em>in the /news/ section</em>, and for it to be filtered by text only URL. </p>
  
  <pre><code>/news/news-item-title =&gt; NewsController.Display - uses "news-item-title" as an id parameter
  
  /news/search/search-term =&gt; NewsController.Search - uses "search-term" as a string parameter
  </code></pre>
  
  <p>Finally, I would like a default controller / action to pick up URLs with no controller or action defined. (And for this to accommodate forward slashes). So for example: </p>
  
  <pre><code>/services/consulting =&gt; CMSPageController.Index - defaults to CMSPage Controller and uses "services/consulting" as an id parameter
  
  /about-us  = CMSPageController.Index - defaults to CMSPage Controller and uses "about-us" as an id parameter
  </code></pre>
  
  <p>Is all of this possible, or should I give up fighting route_config?</p>