<p>The documentation for how Craft picks a template is <a href="http://buildwithcraft.com/docs/routing" rel="nofollow">here</a>. Two of the relevant steps are:</p>

<blockquote>
  <ol start="4">
  <li><strong>Is it an entry/category request?</strong>
  If the URI matches an entry’s or category’s URI, the section’s/category group’s template will get loaded, and the matched element will be made available to the template via a pre-populated entry or category variable.</li>
  </ol>
</blockquote>

<p>and</p>

<blockquote>
  <ol start="6">
  <li><strong>Does the URI match a template?</strong>
  Finally, Craft will see if the URI is a valid template path. If it is, it will return the matched template.</li>
  </ol>
</blockquote>

<p><code>/about/our-people</code> matches #4, and you get the <code>about/_entry.html</code> template. <code>/about/our-people.html</code> matches #6, so you get the <code>about/our-people.html</code> template.</p>

<p>The important thing is that Craft uses the <strong>first</strong> rule that matches.</p>

CC BY-SA 3.0
2015-06-25T09:54:46.627Z
Cheers Marion, Just incase others don't quite understand this... The fix is to route the template through `about/_entry.html`.
joe
CC BY-SA 3.0
2015-09-29T13:05:59.510Z
Hi @joe could you show an example of how to route the template through `about/_entry.html` please?
Gareth
CC BY-SA 3.0
2015-06-25T07:05:37.843Z
2015-06-25T07:05:37.843Z
Marion Newlevant
<p>I've got a structure setup, and one of the entries under it is called "Our people" at the top level, in the "About" structure. So the url would look like this: <code>/about/our-people</code>.</p>

<p>I have a template setup at: <code>craft/templates/about/our-people.html</code></p>

<p>When browsing <code>/about/our-people</code> it does not route there, though <code>/about/our-people.html</code> works fine.</p>

<p>In my general config I have <code>'omitScriptNameInUrls' =&gt; true</code> set.
Only weird thing I have is a "Single" entry is setup to deal with the top level "about" page viewable at <code>/about</code>.</p>

<p>Any ideas?</p>

<p>Thanks!</p>

CC BY-SA 3.0
2015-06-24T21:35:52.640Z
In your about structure settings, what do you have in the Entry Template box?
Aaron Berkowitz
CC BY-SA 3.0
2015-06-25T06:37:18.117Z
"about/_entry" though I thought this could be overwritten with a specific file...
joe
<templating><routes><routing>
need file extension in url to access template
# need file extension in url to access template

(Asked by: username_0 on 2015-06-24)

I've got a structure setup, and one of the entries under it is called "Our people" at the top level, in the "About" structure. So the url would look like this: `/about/our-people`.

I have a template setup at: `craft/templates/about/our-people.html`

When browsing `/about/our-people` it does not route there, though `/about/our-people.html` works fine.

In my general config I have `'omitScriptNameInUrls' => true` set.
Only weird thing I have is a "Single" entry is setup to deal with the top level "about" page viewable at `/about`.

Any ideas?

Thanks!

**Tags:** templating, routes, routing

> **Comments:**
> **username_1**: In your about structure settings, what do you have in the Entry Template box?  
> **username_0**: "about/_entry" though I thought this could be overwritten with a specific file...  

---

## 1 answers

### Answer by username_2 on 2015-06-25. Score: 3 | Accepted answer

The documentation for how Craft picks a template is [here](http://buildwithcraft.com/docs/routing). Two of the relevant steps are:

> 4. **Is it an entry/category request?**
>    If the URI matches an entry’s or category’s URI, the section’s/category group’s template will get loaded, and the matched element will be made available to the template via a pre-populated entry or category variable.

and

> 6. **Does the URI match a template?**
>    Finally, Craft will see if the URI is a valid template path. If it is, it will return the matched template.

`/about/our-people` matches #4, and you get the `about/_entry.html` template. `/about/our-people.html` matches #6, so you get the `about/our-people.html` template.

The important thing is that Craft uses the **first** rule that matches.

> **Comments:**
> **username_0**: Cheers Marion, Just incase others don't quite understand this... The fix is to route the template through `about/_entry.html`.  
> **username_3**: Hi @username_0 could you show an example of how to route the template through `about/_entry.html` please?  

---

