<p>It's not just Windows / Linux / OSX that have different file system case sensitivities, but even different distributions of Linux can have them.  Or the same distribution, but with different file systems.  Or the same distribution and same file system, but one has been configured to be case sensitive and the case insensitive.</p>

<p>Instead of accounting for all of the different possibilities for a given route (<code>example.com/articles</code>, <code>example.com/Articles</code>, <code>example.com/aRticles</code>, <code>example.com/ArTiClEs</code>), it's going to be much less of a headache to just force lowercase at the <a href="https://stackoverflow.com/questions/19048192/force-lower-case-of-urls-override-previous-rules">web server</a> <a href="https://www.simonholywell.com/post/2012/11/force-lowercase-urls-rewrite-php/" rel="nofollow">level</a>.</p>

CC BY-SA 3.0
2015-07-11T03:37:56.790Z
2015-07-11T03:37:56.790Z
Brad Bell
<p>This is a server-side configuration issue, not a Craft issue.</p>

CC BY-SA 3.0
2016-03-11T00:24:26.780Z
2016-03-11T00:24:26.780Z
andrew.welch
<p>So I have a few different channels for different types of content.</p>

<p>One called pages which is just for regular web pages. All of those entries work uppercase or lowercase so example.com/About and example.com/about both work. </p>

<p>The Entry URL Format for pages is </p>

<pre><code>{slug}
</code></pre>

<p>The Entry Template is</p>

<pre><code>/_page
</code></pre>

<p>I have a problem with a few of my channels for blog entries and I believe it is because of the Entry URL Format being used, but at the same time that doesn't make sense since it works fine for the page channel. Example channel is called Articles and the Entry URL Format is </p>

<pre><code>articles/{postDate.year}/{slug}
</code></pre>

<p>And the Entry Template is</p>

<pre><code>articles/_entry
</code></pre>

<p>The main Articles page which shows the index of all articles etc is using </p>

<pre><code>articles/index.html
</code></pre>

<p>in the articles directory which is probably causing the problem.</p>

<p>So the problem ends up being that example.com/articles works but example.com/Articles does not and goes to a 404. Now if I am inside of a single entry it can have caps so example.com/Articles/this-is-an-Article works.</p>

<p>This is hosted on a linux server. Only reason I mention that is because how linux handles cases differently, on the staging server which is windows they all work fine. So not sure if I would need to setup 301's for those blog channels using the index.html files inside each channel folder. Or if there is another way of handling this. Possibly a route, or a single but I don't see why that would be needed.</p>

<p>I have some singles setup like this as well but they work with or without caps... so something seems odd about these channels.</p>

<p>Anyone have any thoughts on that.</p>

CC BY-SA 3.0
2015-07-11T00:34:53.820Z
Is there a good reason to have casing like that? It's better practice to use lowercase.
Mark Busnelli Jr
CC BY-SA 3.0
2015-07-11T04:23:47.777Z
I agree and always do but client was concerned about it.
Bowenac
<templating><entries><url><channels>
Case sensitive Channel urls problem
# Case sensitive Channel urls problem

(Asked by: username_0 on 2015-07-10)

So I have a few different channels for different types of content.
One called pages which is just for regular web pages. All of those entries work uppercase or lowercase so example.com/About and example.com/about both work. 
The Entry URL Format for pages is 
{slug}

The Entry Template is
/_page

I have a problem with a few of my channels for blog entries and I believe it is because of the Entry URL Format being used, but at the same time that doesn't make sense since it works fine for the page channel. Example channel is called Articles and the Entry URL Format is 
articles/{postDate.year}/{slug}

And the Entry Template is
articles/_entry

The main Articles page which shows the index of all articles etc is using 
articles/index.html

in the articles directory which is probably causing the problem.
So the problem ends up being that example.com/articles works but example.com/Articles does not and goes to a 404. Now if I am inside of a single entry it can have caps so example.com/Articles/this-is-an-Article works.
This is hosted on a linux server. Only reason I mention that is because how linux handles cases differently, on the staging server which is windows they all work fine. So not sure if I would need to setup 301's for those blog channels using the index.html files inside each channel folder. Or if there is another way of handling this. Possibly a route, or a single but I don't see why that would be needed.
I have some singles setup like this as well but they work with or without caps... so something seems odd about these channels.
Anyone have any thoughts on that.

**Tags:** templating, entries, url, channels
> **Comments:**
> **username_1**: Is there a good reason to have casing like that? It's better practice to use lowercase.  
> **username_0**: I agree and always do but client was concerned about it.  

---

## 2 answers

### Answer by username_2 on 2015-07-11. Score: 3

It's not just Windows / Linux / OSX that have different file system case sensitivities, but even different distributions of Linux can have them. Or the same distribution, but with different file systems. Or the same distribution and same file system, but one has been configured to be case sensitive and the case insensitive.

Instead of accounting for all of the different possibilities for a given route (`example.com/articles`, `example.com/Articles`, `example.com/aRticles`, `example.com/ArTiClEs`), it's going to be much less of a headache to just force lowercase at the [web server](https://stackoverflow.com/questions/19048192/force-lower-case-of-urls-override-previous-rules) [level](https://www.simonholywell.com/post/2012/11/force-lowercase-urls-rewrite-php/).


---

### Answer by username_3 on 2016-03-11. Score: 2

This is a server-side configuration issue, not a Craft issue.


---

